zoukankan      html  css  js  c++  java
  • js将字符串转换成json的三种方式

    1,js自带的eval函数,其中需要添加小括号eval('('+str+')');

    function strToJson(str){
    var json = eval('(' + str + ')');
    return json;
    }

    2,new Function形式

    function strToJson(str){
    var json = (new Function("return " + str))();
    return json;
    }

    3,全局的JSON对象

    function strToJson(str){
    return JSON.parse(str);
    }

    使用JSON.parse需严格遵守JSON规范,如属性都需用引号引起来,如下

     代码如下:

    var str = '{name:"jack"}';
    var obj = JSON.parse(str); // --> parse error

    name没有用引号引起来,使用JSON.parse所有浏览器中均抛异常,解析失败。

    补充:如果是在java中就好办了,根本用不上JsonObcjec之类,牛人都是用String拆分和拼凑

    相关知识,

    JSONObject

    构造方法如下:

    JSONObject();创建一个空的JSONObject对象

    JSONObject(boolean isNull);创建一个是否为空的JSONObject对象

    普通方法如下:

    fromBean(Object bean);静态方法,通过一个pojo对象创建一个JSONObject对象

    fromJSONObject(JSONObject object);静态方法,通过另外一个JSONObject对象构造一个JSONObject对象

    fromJSONString(JSONString string);静态方法,通过一个JSONString创建一个JSONObject对象

    toString();把JSONObject对象转换为json格式的字符串

    iterator();返回一个Iterator对象来遍历元素

     

    JSONArray:A JSONArray is an ordered sequence of values.

    是一个final类,继承了Object,实现了JSON接口

    构造方法如下:

    JSONArray();构造一个空的JSONArray对象

    普通方法如下:

    fromArray(Object[] array);静态方法,通过一个java数组创建一个JSONArray对象

    fromCollection(Collection collection);静态方法,通过collection集合对象创建一个JSONArray对象

    fromString(String string);静态方法,通过一个json格式的字符串构造一个JSONArray对象

    toString();把JSONArray对象转换为json格式的字符串

    iterator();返回一个Iterator对象来遍历元素

     

  • 相关阅读:
    1022. 从根到叶的二进制数之和
    140. 单词拆分 II
    1640. 能否连接形成数组
    184. 部门工资最高的员工
    数据显示在视图中
    表单验证
    下拉框选中
    全选/全不选
    全选、全部选、反选、提交
    表单-放大缩小
  • 原文地址:https://www.cnblogs.com/rdchen/p/4752191.html
Copyright © 2011-2022 走看看