Json基本用法

Posted 有段天线

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Json基本用法相关的知识,希望对你有一定的参考价值。

JSON: javascript Object Notation(JavaScript 对象表示法)是一种数据传输格式。如用在Ajax交互中传输数据给后台。在此介绍分享一些常见的基本的json语法及应用

  • 基础语法

  • 遍历数组/对象

  • 对象与字符串的转化

  • 实例  



基础语法

   数据在名称/值对中 如"name" : "Teleily"  
   数据由逗号分隔 如{ "name":" Teleily " , "number":"20161167****" }  
   大括号保存对象  
   中括号保存数组[ "name", "number", "tele" ]

遍历数组/对象

使用 for-in 来循环对象的属性和属性的值

若x表示要访问的键,则myObj[x]表示该键所对的值

<script>
var myObj = { "Name":"teleily", "Dorm":307, "Gender":"female" };
for (x in myObj) {
   document.getElementById("demo").innerhtml += x + "<br>";
}
</script> //此处打印出来的是key值
<script>
var myObj = { "Name":"teleily", "Dorm":307, "Gender":"female" };
for (x in myObj) {
   document.getElementById("demo").innerHTML += myObj[x] + "<br>";
}
</script>//此处打印出来的是value值

使用 for-in 来循环数组

对象名一点再加对应的数组名如 for (i in myObj.Hobby)

<script>
var myObj, i, x = "";
myObj = {
   "Name":"teleily",
   "Dorm":307,
   "Hobby":[ "Singing", "Dancing", "Eating" ]
};
for (i in myObj.Hobby) {
   x += myObj.Hobby[i] + "<br>";
}
document.getElementById("demo").innerHTML = x;
</script>

嵌套 JSON 对象中的数组用两个for循环如 for (j in myObj.Hobby[i].addr)

 for (i in myObj.Hobby) {
     x += "<h1>" + myObj.Hobby[i].name + "</h1>";
     for (j in myObj.Hobby[i].addr) {
         x += myObj.Hobby[i].addr[j] + "<br>";
     }  
 }
myObj = {
   "Name":"teleily",
   "Dorm":307,
   "Hobby": [
       { "name":"Singing", "addr":[ "教室", "宿舍", "路上" ] },
       { "name":"Dancing", "addr":[ "舞蹈室", "宿舍", "健身房" ] },
       { "name":"Eating", "addr":[ "饭堂", "宿舍" ] }
   ]
}

对象与字符串的转化

Json 对象和 Json 字符串的区别

var str2 = { "name": "asan", "sex": "man" };//json 对象
var str1 = '{ "name": "deyuyi", "sex": "man" }';//json字符串

JSON.parse()与JSON.stringify()

在接收服务器数据时一般是字符串  
我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。

var obj = JSON.parse('{ "Name":"teleily", "Dorm":307, "Gender":"female" }');

在向服务器发送数据时一般是字符串。  
我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。

var obj = { "Name":"teleily", "Dorm":307, "Gender":"female"}; var myJSON = JSON.stringify(obj);

把 JSON 文本转换为 JavaScript 对象

注意:var obj = eval ("(" + txt + ")");  

var txt = '{ "students" : [' +
'{ "name":" 天线" , "num":1 },' +
'{ "name":"小天线" , "num":2 },' +
'{ "name":"微博" , "num":3 } ]}';
var obj = eval ("(" + txt + ")");
document.getElementById("name").innerHTML=obj.students[0].name
document.getElementById("url").innerHTML=obj.students[2].num

实例

1.  
var k= [a,b,c,d];  
var v= [2,3,3,3];  
如何将两者转化为如下json形式?  
c = [{"a":"2"},{"b":"3"},{"c":"3"},{"d":"3"}]  
方法:
Var c=[];  
$.each(a, function (k,v) {  
           var obj={};  
           obj[v]=values[k];  
           c.push(obj);  
       });  
     var mes=JSON.stringify(c);

2.
有一个这样的数组:  
var k= ['a', 'b', 'c'];  
var v= ['1', '2', '3'];  
或者这样var k=['a', '1', 'b', '2', 'c', '3'];  
如何转换成这样的json格式:  
obj = {  
  'a': '1',  
  'b': '2',  
  'c': '3'  
};  
方法:
var obj={}:
for(var i=0;i<3;i++)obj[k[i]]=v[i];

参考链接  
[1]:http://www.runoob.com/json/json-tutorial.html


以上是关于Json基本用法的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 加载源图像固定用法(代码片段,不全)

json的基本用法

JavaSE 方法的使用

json 个人的vscode的代码片段

Json基本用法

实用代码片段将json数据绑定到html元素 (转)