首页 技术 正文
技术 2022年11月11日
0 收藏 918 点赞 3,924 浏览 1859 个字

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); }

  

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,497
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,910
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,744
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,497
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,135
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,298