分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Json操作问题总结

发布时间:2023-09-06 01:15责任编辑:顾先生关键词:暂无标签

大家都知道,Json是一种轻量级的数据交换格式,对JS处理数据来说是很理想滴!

熟练写过xxx.json文件和操作的小伙伴来说,我说的问题都不是什么大问题啦,可以忽略本宝宝的文章,更希望各位大佬指点一番(●‘?‘●)

?

问题一,数据格式问题

  第①种,完全正确的写法;

[  {"name":"aaa中文测试","payment":"999","url":"http://www.bejson.com","asdf":"asdf"},  {"name":"bbb","payment":"888","url":"http://www.bejson.com","asdf":"asdf"},  {"name":"ccc中文测试","payment":"777","url":"http://www.bejson.com","asdf":"asdf"},  {"name":"ddd","payment":"666","url":"http://www.bejson.com","asdf":"asdf
]

  第②种,雷区错误的写法:

[  {name:"aaa中文测试",payment:"999",url:"http://www.bejson.com",asdf:"asdf"},  {name:"bbb",payment:"888",url:"http://www.bejson.com",asdf:"asdf"},  {name:"ccc中文测试",payment:"777",url:"http://www.bejson.com",asdf:"asdf"},  {name:"ddd",payment:"666",url:"http://www.bejson.com",asdf:"asdf"}]

  看清楚了啊各位,没有引号的key ↑ 这种,你放在xxx.json文件中检验是通不过的,所以就会报错的哇,这是一个特大的误区!

  你要是放在xxx.js中这样写没人管你啊,但你现在要是在xxx.json中这样写是绝对不行的;

  JSON官网最新规范有规定啊,只要是字符串,不管是key还是value都需要用引号引起来,不要小看这个引号,就像本宝宝,写js写习惯了没有加引号,结果硬是没发现这个问题,白白浪费了大好时光/(ㄒoㄒ)/~~

  不要反驳为什么要加引号,官网就是这么定义的。

?

问题二,数据结构问题

  JSON就是一串字符串,只不过元素会使用特定的符号标注。

  { } 双括号表示对象

  [ ] 中括号表示数组

  " " 双引号内是属性或值

  总结来说:{"key" : "value"}

  key定义的属性名啦,value可以是字符串、数字、布尔、数组、对象等值;

  所以可以使用这样的结构来写json:

{"name": "chuyue0"} {"name":["chuyue0","chuyue1"]} 
[{"name": "chuyue0"},{"name": "chuyue1"}]//第二种分开写,本宝宝习惯用这种??

我想到了个问题,看到的大佬解答下,JS有集合的说法么,如有,形式是怎样的呢,同数组吗?

?问题一二都是平时应该注意的小问题,只要仔细、熟练,问题就不大!

?

 问题三,相互转换问题

在数据传输过程中,Json是以字符串的形式传递的;JS操作的是Json对象,所以需要使用特定方法来转换!

var str = ‘{ "name": "chuyue0", "sex": "female" }‘; //json字符串var data=eval("("+str+")"); //转换为Json对象console.log(data.name)

?使用eval()解析Json不安全

  现在大部分现代浏览器(IE9+)都自带原生JSON对象,提供方法解析!

  ① Json字符串转换为Json对象

var str = ‘{ "name": "chuyue0", "sex": "female" }‘;var data=JSON.parse(str);console.log(data);

  

  如果parse()方法抛异常,加入对Json字符串的判断试试(typeof(str)===‘string‘)

  jQuery使用方法:$.parseJSON( str); 或者jQuery.parseJSON(str);

  转换为对象后就可以进行其他的操作啦o(* ̄▽ ̄*)ブ

  ② Json对象转换为Json字符串

var obj2 = { "name": "chuyue0", "sex": "female" };//Json对象var str2 = JSON.stringify(obj2 );console.log(str2);

  

?如果data已经是Json对象,进行eval()转换后就会报错,如下图:

  

补充,

  数组转字符串: array.join(‘,‘)

  字符串转数组: str.split(‘,‘)

  

?

以上就是在操作Json的时候遇到各种的问题,希望通过自己的错误认识来帮助到大家~~~~~~

全篇笔心哦~~~

  

Json操作问题总结

原文地址:http://www.cnblogs.com/anniey/p/7615758.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved