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

  

Json串到json对象的转换的更多相关文章

  1. Json对象与Json字符串的转化、JSON字符串与Java对象的转换

    一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...

  2. Json对象与Json字符串的转化、JSON字符串与Java对象的转换(转)

    一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...

  3. JSON串、JSON对象、Java对象的相互转换

    对象类型转换2: com.alibaba.fastjson.JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串.JSON对象,JSON串转成java对象.JSON对象,JSO ...

  4. json串到java对象

    json串到java对象 前端传入参数json字符串,格式如下: {"语文":"88","数学":"78"," ...

  5. SpringMVC Jackson 库解析 json 串属性名大小写自动转换问题

    问题描述 在项目开发中,当实体类和表中定义的某个字段为 RMBPrice,首字母是大写的,sql 查询出来的列名也是大写的 RMBPrice,但是使用 jquery 的 ajax 返回请求响应时却出错 ...

  6. JSON字符串与java对象的转换

    所需的jar包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar ...

  7. JSON 字符串 与 java 对象的转换

    jsonLib 经典文章:http://json-lib.sourceforge.net/xref-test/net/sf/json/TestJSONObject.html // 引入相应的包 //j ...

  8. 类对象序列化为json串,json串反序列化为类对象

    1.类对象序列化为json串: 方法一: class P(object): def __init__(self,name,age,sex): self.name=name self.age=age s ...

  9. javascript把json串转成对象

    // 这个是待转的json串 var jstr = "{'a':100,'b':'aaa'}"; // 经过下面语句把这个语句描述的对象数据,赋给这个m对象了 eval (&quo ...

随机推荐

  1. LaTeX中参考文献管理以及注意事项

    注意:版权所有,转载请注明出处 使用LaTeX写作,很重要的一个部分就是参考文献的制作,LaTeX使用bibtex管理文章的参考文献,bibtex即是一种工具,又是一种格式的代表,它要求使用*.bib ...

  2. C#中同时使用Lambda表达式和递归

    Func<object, int> RTFunc = (RTFuncRT) => { return (RTFuncRT as Func<object, int>)(RTF ...

  3. Google翻译

    本博文的主要内容有 .Google翻译的介绍    .Google翻译之一:内容板块的翻译    .Google翻译之二:网页的翻译  .Google翻译之四:文档的翻译    .Google翻译之四 ...

  4. Nearly prime numbers - SGU 113(素数)

    题目大意:判断一个数是否是两个素数的乘积,如果是,输出Yes,否则No. 分析:先打表求出来一部分素因子,用素数对素数判定还是比较快的. 代码如下: ========================= ...

  5. hdu 1242 dfs/bfs

    Problem Description Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is ...

  6. JS方法在iframe父子窗口间的调用

    本文向大家简单介绍一下iframe父子窗口间JS方法调用,JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用,希望本文介绍对你有所帮助. if ...

  7. 关于setLayoutParams报错

    有两个可能的原因  1.内部view没有用其parent的LayoutParams在继承BaseAdapter的时候,用getView返回View的时候,用代码控制布局,需要用到View.setLay ...

  8. C# 打开PPT文件另存为PPTX

    /// <summary> /// rename PPT /// </summary> private static void renamePPT() { //add refe ...

  9. Servlet 第六课: Session的使用

    课程目标: 通过这节课,我们能够学会加入session,学会调用session,以及大概懂得session存在的情况. 课程具体: 1.Session仅仅是存在于浏览器.比方我们打开浏览器获得我们所须 ...

  10. docker 镜像中包含数据库环境和运行环境

    需求: 一个镜像中要包含数据库环境和运行环境 Apache 环境 + mariadb 已经在拉取了Apache的运行环境 - 拉取代码 git https://github.com/timhaak/d ...