zoukankan      html  css  js  c++  java
  • Json串到json对象的转换

    JSON(JavaScript Object Notation) JS对象符号

      是一种轻量级的数据交换格式

    JavaScript eval()函数实现

    (一) 标准格式

    function JsonFormatting() {
        var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
        var jsonObject = eval('(' + jsonString + ')');
    
        var tt = '';
        $.each(jsonObject,function(k, v) {
            tt += k + ":" + v+"<br/>";
        });
    
        $("#divmessage").html(tt); }
    

      这种写法就是key值用双引号包围。这种格式可以叫做json串。通过eval函数将json串转换为json对象。

    (二) 简写格式

    function JsonFormatting() {
        var jsonString = '{Unid:"1",CustomerName:"宋江",Age:"33"}';
        var jsonObject = eval('(' + jsonString + ')');
    
        var tt = '';
        $.each(jsonObject,function(k, v) {
            tt += k + ":" + v+"<br/>";
        });
    
        $("#divmessage").html(tt); 
    }
    

      key值省略引号,通过eval函数将json串转换成json对象,然后可以通过两种方式访问:

    @1. 点语法 object.property

    var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
    var jsonObject = eval('(' + jsonString + ')');
    alert(jsonObject.CustomerName);
    

    @2. 键值对索引

    Object[key]

    var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
    var jsonObject = eval('(' + jsonString + ')');
    alert(jsonObject["CustomerName"]);
    

    eval函数说明:

    它可以把一个字符串当作一个JavaScript表达式一样去执行。

    eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。

    如果s语句执行结果是一个值,则返回此值,否则返回undefined。对象声明语法“{}”并不能返回一个值,需要用括号括起来才会返回值。

    function EvalTest() {
        var code1 = '"a" + 2';    //表达式
        var code2 = '{a:2}';      //语句
        alert(eval(code1));     //输出a2
        alert(eval(code2));     //输出undefined
        alert(eval('(' + code2 + ')')); //输出[object Object]
    }
    

     

    对于对象声明语句来说,仅仅是执行,并不能返回值。

    为了返回常用的“{}”这样的对象声明语句,必须用括号括住,以将其转换为表达式,才能返回其值。 

    为jquery添加从json串到json对象的转换方法。

    打开库,找到jQuery.extend({

    添加方法

    jsonToObject: function(a) { 
        return eval('(' + a + ')');
         },
    

    使用如下:

    var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
    var jsonObject = $.jsonToObject(jsonString);
    alert(jsonObject["CustomerName"]);
    

    其中jsonString为json串,而jsonObject为json对象

    jQuery实现

    $.parseJSON("jsonstr"); 将json字符串转换成json对象

    利用json.js包插件

    var obj = JSON.parse(strJSON); 

    JSON对象转json字符串

    var str = JSON.stringify(obj)  需要导入json.js包

    function JsonFormatting() {
                var jsonObject = {"Unid":"1","CustomerName":"宋江","Age":"33"};            
                var jsstr=JSON.stringify(jsonObject);
                alert(typeof jsstr);           
                
            }
    

      

  • 相关阅读:
    星时代曹波涛:分享一个测试数据生成的工具
    myabtis-plus 分页
    吴恩达机器学习_55过拟合问题/56代价函数
    吴恩达机器学习_51高级优化/52多元分类:一对多
    吴恩达机器学习_49代价函数/50简化代价函数与梯度
    吴恩达机器学习_46分类/47假设函数/48决策边界
    Windows10下安装VMware workstation 15.1虚拟机+配置Ubuntu16系统
    编程作业ex1:附加练习
    编程作业ex1:线性回归
    吴恩达机器学习_43矢量
  • 原文地址:https://www.cnblogs.com/jiechn/p/4451349.html
Copyright © 2011-2022 走看看