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对象来遍历元素

     

  • 相关阅读:
    c#判断输入的是不是数字
    params 关键字载入空值的陷阱
    拆箱陷阱
    接口的概念和声明
    数据库
    ios 纵向的UISlider
    微信小程序学习网站
    Spark RDD(2)
    SparkSql
    廖雪峰老师学习网站
  • 原文地址:https://www.cnblogs.com/rdchen/p/4752191.html
Copyright © 2011-2022 走看看