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对象

     

  • 相关阅读:
    021.day21 反射 Class类 反射常用操作
    020.day20 线程概述 多线程优缺点 线程的创建 线程常用方法 生命周期 多线程同步
    019.day19 缓冲流 对象流 标准输入输出流
    018.day18 map集合如何实现排序 File类 IO流 字节流 字符流 编码
    017.day17 Map接口 克隆 treeSet集合排重缺陷
    016.day16 HashSet TreeSet 比较器Comparable Comparator
    015.day15
    014.day14
    013.day13
    线程
  • 原文地址:https://www.cnblogs.com/jams742003/p/1634764.html
Copyright © 2011-2022 走看看