快捷搜索:  汽车  科技

数据json格式前端(程序员都应该了解的一种数据格式之)

数据json格式前端(程序员都应该了解的一种数据格式之)实战代码: <script type="text/javascript"> var JSONObject = { "name": "Bill Gates" "street": "Fifth Avenue New York 666" "age": 56 "phone": "555 1234567" }; document.getElementById("jname").innerHTML = JSONObject.name document.getElementById("jage").innerHTML = JSONObject.age document.getElement

1 JSON简介

JSON:JavaScript 对象表示法(JavaScript Object Notation)。

JSON 是存储和交换文本信息的语法。类似 XML。

JSON 比 XML 更小、更快,更易解析。

什么是JSON?

l JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)

l JSON 是轻量级的文本数据交换格式

l JSON 独立于语言 *

l JSON 具有自我描述性,更易理解

* JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。

实战代码: <script type="text/javascript"> var JSONObject = { "name": "Bill Gates" "street": "Fifth Avenue New York 666" "age": 56 "phone": "555 1234567" }; document.getElementById("jname").innerHTML = JSONObject.name document.getElementById("jage").innerHTML = JSONObject.age document.getElementById("jstreet").innerHTML = JSONObject.street document.getElementById("jphone").innerHTML = JSONObject.phone </script>2 JSON语法

JSON语法规则

JSON 语法是 JavaScript 对象表示法语法的子集。

数据在名称/值对中

数据由逗号分隔

花括号保存对象

方括号保存数组

JSON值

数字(整数或浮点数)

字符串(在双引号中)

逻辑值(true 或 false)

数组(在方括号中)

对象(在花括号中)

null

JSON对象(1)

JSON对象在花括号中书写:

{ "firstName":"John" "lastName":"Doe" }

JSON对象数组(2)

JSON数组在方括号中书写,数组可包含多个对象:

{ "employees": [ { "firstName":"John" "lastName":"Doe" } { "firstName":"Anna" "lastName":"Smith" } { "firstName":"Peter" "lastName":"Jones" } ] } 该例子中,对象"employees" 是包含3个对象的数组。

实例: <script type="text/javascript"> var employees = [ { "firstName": "Bill" "lastName": "Gates" } { "firstName": "George" "lastName": "Bush" } { "firstName": "Thomas" "lastName": "Carter" } ]; // employees[0].firstName 获取数据Bill employees[1].firstName = "Jobs"; //修改数据 document.getElementById("fname").innerHTML = employees[1].firstName; </script>3 JSON对象-访问对象值

对象语法:

JSON 对象使用在大括号{}中书写。

对象可以包含多个 key/value(键/值)对。

key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串 数字 对象 数组 布尔值或 null)。

key 和 value 中使用冒号(:)分割。

每个 key/value 对使用逗号( )分割。

访问对象值

你可以使用点号来访问JSON对象的值:

<script> var myObj x; myObj = { "name": "JS中文教程网" "alexa": 10000 "site": "www.8939.org" }; x = myObj.name; document.getElementById("demo").innerHTML = x; </script>嵌套JSON对象

<body> <p id="demo"></p> <script> var myObj i x = ""; myObj = { "name": "runoob" "alexa": 10000 "sites": { "site1": "www.runoob.com" "site2": "m.runoob.com" "site3": "c.runoob.com" } } myObj.sites["site2"]="www.google.com";//修改JSON对象的值 delete myObj.sites.site1; //删除JSON对象属性 //或者 delete myObj.sites["site1"]; for (i in myObj.sites) { x = myObj.sites[i] "<br>"; } document.getElementById("demo").innerHTML = x; </script> </body>基本数组

<script> var myObj x; myObj = [ "Google" "Runoob" "Taobao" ]; x = myObj[0]; document.getElementById("demo").innerHTML = x; for ( y in myObj) { document.getElementById("demo2").innerHTML = myObj[y] "<br>"; } </script>对象中的数组

<script> var myObj i j x = ""; myObj = { "name":"网站" "num":3 "sites": [ { "name":"Google" "info":[ "Android" "Google 搜索" "Google 翻译" ] } { "name":"Runoob" "info":[ "菜鸟教程" "菜鸟工具" "菜鸟微信" ] } { "name":"Taobao" "info":[ "淘宝" "网购" ] } ] } for (i in myObj.sites) { x = "<h1>" myObj.sites[i].name "</h1>"; for (j in myObj.sites[i].info) { x = myObj.sites[i].info[j] "<br>"; } } document.getElementById("demo").innerHTML = x; </script> </body>JSON实例 -来自字符串的对象「eval()」

JavaScript函数eval()可用于将JSON文本转换为JavaScript对象。

eval()函数使用的是JavaScript编辑器,可解析JSON文本,然后生成JavaScript对象。必须把文本包围在括号中,这样才能避免语法错误:

var obj = eval ("(" txt ")");

<script> var txt = '{ "sites" : [' '{ "name":"JS中文教程网" "url":"www.8939.org" } ' '{ "name":"google" "url":"www.google.com" } ' '{ "name":"微博" "url":"www.weibo.com" } ]}'; var obj = eval ("(" txt ")");//把JSON文本转换为JavaScript对象 document.getElementById("name").innerHTML=obj.sites[0].name document.getElementById("url").innerHTML=obj.sites[0].url </script>JSON实例 -来自字符串的对象「JSON.parse() 」

JSON 通常用于与服务端交换数据。

在接收服务器数据时一般是字符串。

我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象

<script> var txt = '{ "sites" : [' '{ "name":"JS中文教程网" "url":"www.8939.org" } ' '{ "name":"google" "url":"www.google.com" } ' '{ "name":"微博" "url":"www.weibo.com" } ]}'; var str='{ "name":"JS中文教程网" "alexa":10000 "site":"www.8939.org" }'; var obj = JSON.parse(str); document.getElementById("demo").innerHTML = obj.name ":" obj.site; </script>

JSON.parse()与eval()的区别?

json格式非常受欢迎,而解析json的方式通常用JSON.parse()但是eval()方法也可以解析,这两者之间有什么区别呢?

JSON.parse()之可以解析json格式的数据,并且会对要解析的字符串进行格式检查,如果格式不正确则不进行解析,而eval()则可以解析任何字符串,eval是不安全的。

JSON实例-JSON对象转字符串「JSON.stringify() 」

JSON 通常用于与服务端交换数据。

在向服务器发送数据时一般是字符串。

我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。

对象转换为字符串 <script> var obj = { "name":"runoob" "alexa":10000 "site":"www.runoob.com"}; var myJSON = JSON.stringify(obj); //myJSON 的打印为:"{"name":"runoob" "alexa":10000 "site":"www.runoob.com"}" </script> 数组转换为字符串 <script> var arr = [ "Google" "Runoob" "Taobao" "Facebook" ]; var myJSON = JSON.stringify(arr); // myJSON 打印值为:"["Google" "Runoob" "Taobao" "Facebook"]" </script>

文档:http://www.json.org/json-zh.html

图片来源:https://baijiahao.baidu.com/s?id=1652241214837639808&wfr=spider&for=pc

数据json格式前端(程序员都应该了解的一种数据格式之)(1)

Jquery param方法

param() 方法创建数组或对象的序列化表示形式。 序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。 $.param(object trad) 必需。规定要序列化的数组或对象。 trad可选。布尔值,指定是否使用参数序列化的传统样式。

url在线编码转码 : https://tool.oschina.net/encode?type=4

学习是100%不会错的事情,不管你迷茫的时候,不管你无聊的时候,请学习吧。

他日回忆这段时候,不是迷茫不是无聊,是激励的正确时光。

猜您喜欢: