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

soゝso 2016-08-22 18:35:45 18369

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",
    "域名": "https://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对象(也称之为反序列化);

版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/24.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

相关文章
Jackson 美化输出JSON,优雅的输出JSON数据格式化输出JSON数据... ...
JSON格式讲解,JSON获取对象,JSONObject和JSONArray的操作
Elasticsearch Java API 获取version,以及数据_version的介绍
RBAC 介绍,案例讲解。
Druid数据库配置详细介绍。网上一团糟。
SOJSON.COM 站点介绍
HTML meta标签总结与属性使用介绍
JSOUP 教程,JSOUP请求JSON ,JSOUP返回JSON 数据
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明
GZIP压缩JSONJSON压缩
最新文章
iOS版淘宝打开提示“您使用的程序是内测版本,将于2020-03-28到期,到期将无法使用,请尽快下载最新版本” 879
关于一位“caoz的梦呓”的大佬在微信公众号喷我的整体回复 58155
DNS TXT记录添加方法,ICP备案信息屏蔽查询处理方案讲解 2838
SEO优化的最佳时间段即将来临,春节最佳SEO优化讲解 2304
SEO实战分析-排名最近突然掉光了问题排查,几个大站关键词下降SEO问题分析 2307
Java模拟WSS websocket ssl请求,Java WSS模拟请求代码示例 4982
Springboot 集成 Ehcache 代码讲解 5740
阿里云 RDS Specified key was too long; max key length is 767 bytes 解决方案 2196
Springboot HTTP Get/Post 请求讲解,Springboot几行代码完成Http请求 6096
天气免费API接口,天气API接口请求讲解及源码下载 28838
最热文章
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 370222
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 343710
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 307920
免费天气API,天气JSON API,不限次数获取十五天的天气预报 215820
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 207630
Elasticsearch教程(四) elasticsearch head 插件安装和使用 181621
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 113981
Elasticsearch教程(一),全程直播(小白级别) 101476
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 101105
Elasticsearch教程(六) elasticsearch Client创建 90306

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

入群需要5元为的是没有垃圾广告,如果没有QQ钱包,可以加群主拉进。

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

支付扫码

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

查看我的收藏

正在加载... ...