Json串与json对象之间的转换

web、JS技术学习 https://www.itkc8.com

JSON(JavaScript Object Notation)

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

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

字符串转对象(strJSON代表json字符串) 
  var obj = eval(strJSON); 
  var obj = strJSON.parseJSON(); 
  var obj = JSON.parse(strJSON); 
json对象转字符串(obj代表json对象) 
  var str = obj.toJSONString(); 
  var str = JSON.stringify(obj) 
运用时候需要除了eval()以外需要json.js包(切记哦) 

 

(一)标准格式

复制代码

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

web、JS技术学习 https://www.itkc8.com

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值