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

    JSON(JavaScript Object Notation)

    是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptStandard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式。

    更多内容请见:http://www.json.org/

     

    (一)标准格式

    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"]);

    其中jsonStringjson串,而jsonObjectjson对象

     

  • 相关阅读:
    SpringBoot自定义FailureAnalyzer
    Linux 系统目录结构
    Spring Boot实战:静态资源处理
    Activiti7整合SpringBoot(十二)
    Acvitivi网关(十一)
    为什么阿里巴巴要禁用Executors创建线程池?
    lqb 基础练习 数列排序 (sort的使用)
    lqb 入门训练 A+B问题
    lqb 入门训练 序列求和 (PS:用长整数做数据的输入输出)
    lqb 入门训练 圆的面积 (PS: PI的精确计算方法 atan(1.0) * 4)
  • 原文地址:https://www.cnblogs.com/jams742003/p/1634764.html
Copyright © 2011-2022 走看看