JSON数据格式,JSON格式化介绍,JSON格式介绍。

soゝso 2016-08-22 18:35:45 2632
分享到:

1.基本介绍

首先有同学问我们在Javascript里操作的“JSON.stringify ”与 “JSON.parse ”是Javascript自带的吗?

JSON.stringify();
JSON.parse();
首先:
JSON对象是javascript自带的,不过对于不同浏览器,支持不同。

支持列表

  • IE8+
  • chrome
  • firefox
  • safari
    ...

不支持列表

  • ie7,ie6, ie6-

在现在浏览器,IE8+,chrome,firefox,safair等支持,但是在ie6,ie7是不支持的,如果用这JSON 对象,并且要求低版本的浏览器支持,你可以使用json2来支持。

附带:JSON2


早期的JSON解析器基本上就是使用JavaScript的eval()函数。由于JSON是JavaScript语法的自己,因此eval()函数可以解析、解释并返回JavaScript的对象和数组。
ECMAScript 5对解析JSON的行为进行了规范,定义了全局对象JSON。

据网上资料,浏览器对JSON的支持情况 : IE8 chrome1+ safari3+ firefox3+

2.JSON用法

对象以"{"(左括号)开始,"}"(右括号)结束。每个"名称"后跟一个":"(冒号);"'名称/值’'对"之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不须要。

例如:

{
    "站长": "soso,QQ:8446666",
    "域名": "http://www.sojson.com",
    "开发语言": "最牛逼的语言——Java ^_^",
    "编码": "UTF-8"
}

 数组是值(value)的有序集合。一个数组以”[”(左中括号)开始,"]"(右中括号)结束。值之间运用 ","(逗号)分隔。

例如:

{
    "技术使用": [
        "SpringMVC",
        "Mybatis ",
        "Freemarker",
        "Shiro"
    ],
    "数据存储": [
        "Redis",
        "RDS",
        "七牛云存储"
    ]
}

数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。

JSON字符串:

var data='{"name":"sojson","url":"www.sojson.com"}';//外面是用单引号“'”引用。
var data="
{\"name\":\"sojson\",\"url\":\"www.sojson.com\"}";//外面用双引号就要用反斜杠 ‘\’。

JSON对象: 

var data={"name":"sojson","url":"www.sojson.com"};

注意:如果obj本来就是一个JSON对象,那么运用 eval()函数转换后(哪怕是多次转换)还是JSON对象,但是运用 parseJSON()函数处理后会有疑问(抛出语法异常)。

个人推荐最好不要用eval(),因为如果可以运算的字符串,结果就会和应该的到的不一致,比如字符串里有含有"1+2",本来就是个字符串,但是结果是以"3"的方式输出的。

可以运用 toJSONString()或者全局的JSON.stringify()函数将JSON对象转化为JSON字符串

代码如下:

//将JSON对象转化为JSON字符
var jsonstr = data.toJSONString();

//或者这样

//将JSON对象转化为JSON字符 var jsonstr = JSON.stringify(data);

总结一下:

  1. 在数据传输流程中,json是以文本,即字符串的形式传递的,和其他的传输类型没有任何差别。都是以字符串文本传输。
  2. Json.stringify()将JSON对象转为JSON字符串(也称之为序列化);
  3. Json.parse()将JSON字符串转为JSON对象(也称之为反序列化);
关于作者
目前就职于国内某电商平台公司打杂。。
相关文章
Jackson 美化输出JSON,优雅的输出JSON数据格式化输出JSON数据... ...
JSON格式讲解,JSON获取对象,JSONObject和JSONArray的操作
RBAC 介绍,案例讲解。
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明
Elasticsearch Java API 获取version,以及数据_version的介绍
SOJSON.COM 站点介绍
Druid数据库配置详细介绍。网上一团糟。
JSOUP 教程,JSOUP请求JSON ,JSOUP返回JSON 数据
HTML meta标签总结与属性使用介绍
液厂JSON数据-来自云端数据
最新文章
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 38754
JS解密,JavaScript 解密,任何JS加密都能100%解密,以及JS 加密讲解 66
阿里云DNS 解析讲解,SEO配置搜索引擎线路解析 41
百度秒收录教程,怎么做到百度秒收入你的页面,SEO 教程 89
CDN 请求返回 connection reset by peer,被拦截请求解决方案 33
Google AdSense 申请技巧,谷歌广告申请通不过教程 66
Mac 安装 JMeter,JMeter 下载,JMeter Http 压力测试【图解】 45
支付宝吱口令自动复制脚本,自动复制 JavaScript 代码介绍 866
谈谈这次对 SOJSON 的改版 146
Java 计算2个时间相差多少年,多少个月,多少天的几种方式 484
最热文章
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 38754
Elasticsearch教程(四) elasticsearch head 插件安装和使用 108910
Elasticsearch教程(六) elasticsearch Client创建 73264
Elasticsearch教程(八) elasticsearch delete 删除数据(Java) 70727
Elasticsearch教程(二),IK分词器安装 67441
Elasticsearch教程(三),IK分词器安装 (极速版) 54071
Elasticsearch教程(五) elasticsearch Mapping的创建 51534
Elasticsearch教程(一),全程直播(小白级别) 51227
Elasticsearch教程(七) elasticsearch Insert 插入数据(Java) 47703
Elasticsearch权威指南-中文.pdf,Elasticsearch 中文文档下载 40877

骚码加入我们 / 千人QQ群:259217951

入群需要5元,如果没有QQ钱包,可以先Alipay、微信,赞助然后加群主拉进。

二维码生成 来自 >> 二维码生成器

支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

正在加载... ...