记录这篇的原因
最近在做新项目的一个接口用到了大串的JSON数据,取数据取的脑壳疼,于是想把串转换成数组,好拼接一点,虽然一直有用json,但是都只是简单的知道是json,用取对象的方法取就行了也没了解那么多,转数组的过程中也不确定到底是JSON对象还是JSON字符串转数组,于是想搞清楚一下~
万恶之源:
想了解的问题
问题1.json字符串、json对象、json数组分别是啥?都是啥关系?
捊了一些概念:
- json是一种语法格式(JavaScript Object Notation,是一种轻量级的数据交换格式);
- js的所有数据类型(或者说所有JS对象,因为万物皆对象0.o)都可以用JSON表示;
- JSON是JS对象的字符串表示法,使用文本表示一个JS对象的信息,本质是一个字符串。
所以答案就是:
json就是字符串,用json表示的js对象就是json对象,用json表示的js数组就是json数组
另外:JSON和JS对象(js对象、js数组等)间可以互转:
例如,dataOne(JSON)和dataTwo(JS对象)的互转:
* dataOne = JSON.stringify(dataTwo);//JS对象转化成JSON
* dataTwo = JSON.parse(dataOne);//JSON转化为JS对象
问题2.怎么把那一堆JSON转换为多维数组
之前想把这个"JSON串"转换成多维数组,是为了方便取数据一点,因为这个串里嵌套数组,数组里又嵌套对象,得同时用到.
和[]
,现在清楚了这个数据就是一个JSON字符串,而且可以同时用.
和[]
访问对象值,也就没有必要再转换成数组了。
参考:
JSON百度百科