JSON:JavaScript 对象表示法(JavaScript Object Notation)。
JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。
JSON 数据可使用 AJAX 进行传输---后台组装JSON字符串
JSON 可通过 JavaScript 进行解析---客户端javascript解析并转换为对象,然后就可以使用其中的数据了
把 JSON 文本转换为 JavaScript 对象
JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。
JSON 语法规则
JSON 语法是 JavaScript 对象表示法语法的子集。
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
JSON 名称/值对
JSON 数据的书写格式是:名称/值对。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
"firstName" : "John"
这很容易理解,等价于这条 JavaScript 语句:
firstName = "John"
JSON 值
JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
JSON 对象
JSON 对象在花括号中书写:
对象可以包含多个名称/值对:
{ "firstName":"John" , "lastName":"Doe"
JSON 数组
JSON 数组在方括号中书写:
数组可包含多个对象:
{ "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] }
访问对象数组中的第一项:
employees[0].lastName;
返回的内容是:
Gates
可以像这样修改数据:
employees[0].lastName = "Jobs";
JSON 文件
- JSON 文件的文件类型是 ".json"
- JSON 文本的 MIME 类型是 "application/json"
由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。
eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
var obj = eval ("(" + txt + ")");
JSON 解析器
提示:eval() 函数可编译并执行任何 JavaScript 代码。这隐藏了一个潜在的安全问题。
使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON 文本,而不会编译脚本。
在浏览器中,这提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。
较新的浏览器和最新的 ECMAScript (JavaScript) 标准中均包含了原生的对 JSON 的支持。
示例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script type="text/javascript"> var txt = '{"employees":[' + '{"firstName":"Bill","lastName":"Gates" },' + '{"firstName":"Georg1e","lastName":"Bush" },' + '{"firstName":"Thomas","lastName":"Carter" }]}'; //var obj = eval("(" + txt + ")"); var obj = JSON.parse(txt); window.onload = function fn() { document.getElementById("fname").innerHTML = obj.employees[1].firstName; document.getElementById("lname").innerHTML = obj.employees[1].lastName; } </script> </head> <body> <h2> 通过 JSON 字符串来创建对象 </h3> <p> First Name: <span id="fname"></span><br /> Last Name: <span id="lname"></span><br /> </p> </body> </html>
相关推荐
json字符串和js对象之间的转换,包括eval、parseJSON函数、JSON.parse、$.toJSON、$.parseJSON、复杂的json格式对象使用,让你一分钟理解json的那些事
功能:处理json数据 1.将json字符串转换成json对象 2.将json对象转换成json字符串
本文实例讲述了JSON字符串和JSON对象相互转化的方法。分享给大家供大家参考,具体如下: 将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,...
javascript处理json字符串和json对象的类。 可以把json对象转换成字符串, 也可以把json格式的字符串转换成json对象。 上一个版本有一个小问题,修改了。这是最终版本。 含有演示例子。
json对象转化为字符串,也可以字符串的json转换为对象
支持将自身转换成json字符串输出
今天小编就为大家分享一篇关于javascript json字符串到json对象转义问题,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
自动将字符串转化为Json对象 使用方法Json parse 在前端使用更方便
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次...
本文实例讲述了javascript中JSON对象与JSON字符串相互转换实现方法。分享给大家供大家参考。具体如下: [removed] // 根据JSON对象的属性的名称获取属性的值 var jsonObj = { name: "jxqlovejava" }; // JSON对象 ...
JS解析json格式字符串最简便方法,利用javaScript内置eval函数来实现
今天用到了json数组和json对象和json类型字符串之间互转及取值,记录一下: 1.json类型的字符串转换为json对象及取值 var jsonString = '{"bar":"property","baz":3}'; var jsObject = JSON.parse(jsonString); //...
javascript中eval解析JSON字符串.docx
从日志等中修复糟糕的JSON字符串_TypeScript_JavaScript_下载.zip
如果你现在正在使用Restful API,并且你需要通过web项目来构建json格式字符串的响应,那么这篇文章将帮助你使用javascript来创建json格式字符串。这是非常有用的,我们将通过jQuery插件$.toJSON把数据对象转换为json...
1、本文详细描述了json转对象的方法。 2、通过详细示例,让读者更直观地阅读,更清晰的理解。 3、示例代码可直接复制,编译后可直接运行。 4、根据示例以及运行结果,让读者加强记忆及理解。
本文实例讲述了JavaScript实现的反序列化json字符串操作。分享给大家供大家参考,具体如下: JavaScript中如何反序列化json字符串呢? 有如下两种方法: (1) 使用万能的eval var jsonText = '{name:acwong,age:23,...
JavaScript 实现JSON和字符串之间转换
JSON转义在JS中快速转义JSON字符串。 手动转义小的JSON字符串比使用本机更快。 主要焦点是非常快速地检查不需要转义的字符串,同时还改善了转义自身或至少不低于JSON.stringify的条件。基准测试运行基准测试( npm ...
下面小编就为大家带来一篇把json格式的字符串转换成javascript对象或数组的方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧