中国最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2

json教程

  • 关于 JSON
  • JSON 教程

    json格式

    JSON解析

    JSON遍历

    JSON调用

    JSON转换

    JSON获取

    JSON字符串

    JSON数组

    javascript中JSON对象与JSON字符串相互转换实例

    阅读 (2465)
    代码如下:
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script type="text/javascript">
            var obj = new Object();
            obj.Name = "八戒"
            obj.Age = 500;
    
            //通过字面量的形式来定义对象
            var obj1 = { "Name": "八戒", "Age": "500" };
            var arr = [{ "Name": "八戒", "Age": "500" }, { "Name": "八戒1", "Age": "1000" }];
    
            //JSON格式:将json的字面量表示形式,当做字符串存放,则为json格式字符串
            var str = '{ "Name": "八戒", "Age": "500" }';
            var jsonstrarr = '[{ "Name": "八戒", "Age": "500" }, { "Name": "八戒1", "Age": "1000" }];';
            
            //将json字符串转换成js对象(数组)
            var resobj = JSON.parse(str);
            alert(resobj.Name);
    
        </script>
    </head>
    <body>
    </body>
    </html>
    

    在前端js对象和json对象的互转:


    JS对象转换成为JSON

    处理:引用一个json2.js文件,调用JSON.stringify()方法。例如:

    代码如下:
    var data = new Object();
    var json_data = JSON.stringify(data);
    

    PS:json2.js这个文件在网上搜一下就能下载到。


    JSON转换成为JS

    1.处理:用jQuery的一个方法$.parseJSON()将JSON格式的数据转成JS对象。例如:

    代码如下:
    var json_data = $.getJSON();
    var data = $.parseJSON(json_data);
    

    (可用来成转换js数组)


    2.将json转换成js对象的方法:

    代码如下:
    var json = eval('(' + result + ')');
    
    通过上面这个表达式,就完成了将服务器端响应给客户端的Json格式的字符串解析成了一个Json(格式的)对象,名称为“json”,通过“json.”或者“json[]”的方式便可进行数据访问。
     
    在后台对js对象和json对象的互转:
     
    .NET Framework 4在System.Runtime.Serialization中。利用JavaScriptSerializer类对数据进行序列化和反序列化

    示例:

    代码如下:
    //将param反序列列list集合
    List<ApplyPart> _ApplyPart = new JavaScriptSerializer().Deserialize<List<ApplyPart>>(param);
    

    jQuery插件支持的转换方式 
    代码如下: 

    $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象
    
    反过来,使用 serialize 系列方法:如:var fields = $("select, :radio").serializeArray();
    


    浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器 
    代码如下: 

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

    注:ie8(兼容模式),ie7和ie6没有JSON对象,需要引入 json.js 或 json2.js。


    Javascript支持的转换方式 
    eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号 
    注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。

     

    JSON官方的转换方式 
    http://www.json.org/,提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;


    关闭
    程序员人生