zoukankan      html  css  js  c++  java
  • JavaScript中把Json字符串转化为对象

    1.采用eval()函数

    定义和用法

    eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

    语法

    eval(string)
    参数描述
    string 必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。

     

     

    返回值

    通过计算 string 得到的值(如果有的话)。

    例如:

    var jsonStr='{"name":"json","sex":"man","age":20}';
    var objectJson=eval('('+jsonStr+')');
    //objectJson={name: "json", sex: "man", age: 20}

     注意:参数为什么写成 '('+jsonStr+')'?参因为jsonStr带有大括号{}字符串,如果不加带引号的括号'('')',就会当做js代码执行,即'{'当做开始,'}'当做结束。

    在使用eval对JSON进行执行的时候,JSON字符串通常被包含在一个圆括号里:eval('(' + json + ')'),这样做的原因就是因为分组操作符,也就是这对括号,会让解析器强制将JSON的花括号解析成表达式而不是代码块。

    2.采用内置方法JSON.prase()

    var jsonStr='{"name":"json","sex":"man","age":20}';
    var objectJson=JSON.parse(jsonStr);
    //objectJson={name: "json", sex: "man", age: 20}

    3.采用JQuery方法$.parseJSON()

    var jsonStr='{"name":"json","sex":"man","age":20}';
    var objectJson=$.parseJSON(jsonStr);
    //objectJson={name: "json", sex: "man", age: 20}

    扩展:

    可以将json对象转换成json字符串 :JSON.stringify(jsonobj);

    var jsObj = {};
    jsObj.testArray = [1,2,3,4,5];
    jsObj.name = 'CSS3';
    jsObj.date = '8 May, 2011';
    var str = JSON.stringify(jsObj);
    alert(str);
    //{"testArray":[1,2,3,4,5],"name":"CSS3","date":"8 May, 2011"}
  • 相关阅读:
    java中通过jacob调用dts进行数据导入导出
    Tomcat6 配置快逸报表
    [转]Sql Server Alter语句
    redhat linux卸载自带的Java1.4.2安装JDK6
    住房公积金额度计算
    JVisualVM使用
    Tomcat假死之问题原因排查
    JVM内存调优之监控篇
    tomcat之JVM GC 日志文件生成
    webstorm8的license
  • 原文地址:https://www.cnblogs.com/dehuachenyunfei/p/6572075.html
Copyright © 2011-2022 走看看