77百科网
当前位置: 首页 生活百科

json和json数组(Json对象与Json字符串你了解吗)

时间:2023-08-23 作者: 小编 阅读量: 1 栏目名: 生活百科

Json格式的出现意义Json之前,大家都用XML传递数据。将JSON字符串和JSON对象互相转换在开发的过程中,最常用的是将JSON字符串转换为JSON对象来使用。由于json是以'{}'的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。

json是什么?

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。

JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。

Json格式的出现意义

Json之前,大家都用 XML 传递数据。XML 是一种纯文本格式,所以适合在网络上交换数据,但是 XML 格式比较复杂,终于道格拉斯·克罗克福特(Douglas Crockford)发明了JSON 这种超轻量级的数据交换格式。

JSON支持的数据类型

JSON里面的数据是以一种键值对的方式存在 ("key":"value")中值的类型可以是下面数据类型中的任意一种:

  1. 数字(整数或浮点数)
  2. 逻辑值(true 或 false)
  3. 字符串(在双引号中)
  4. 数组(在方括号中)
  5. 函数
  6. 对象(在大括号中)
  7. null
JSON语法规则

JSON的语法规则非常的简单,就是使用

  • 大括号’{}’,
  • 中括号’[]’,
  • 逗号’,’,
  • 冒号’:’,
  • 双引号’“”’。
  • 数据类型:
  • 嵌套对象、数组、字符串、数字、布尔值或空值。
什么是"JSON字符串",什么是"JSON对象"
  1. JSON对象是直接可以使用jQuery操作的格式,如js中可以用对象(类名)点出属性(方法)一样
  2. JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert();

JSON字符串

var obj_str = '{ "name": "zhangsan", "age": "20" }';

JSON对象

var obj = {"name": "zhangsan", "age": "20" };

在服务端与客户端使用的过程中,往往会因为JSON字符串和JSON对象而产生一些不必要的麻烦,这里给大家分享几种JSON对象与JSON字符串互转的方法,以便于大家在不清楚的情况下查阅使用。

将JSON字符串和JSON对象互相转换

在开发的过程中,最常用的是将 JSON字符串转换为JSON对象来使用。

方法一:浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器

JSON.parse(jsonstr); // 可以将json字符串转换成json对象 JSON.stringify(jsonobj); // 可以将json对象转换成json对符串var str = '{"name": "zhangsan", "age": "20" }';var obj = {"name": "zhangsan", "age": "20" };var obj_from_str = JSON.parse(str);console.log(obj.name); // zhangsanvar str_from_obj = JSON.stringify(obj );console.log(str_from_obj); // "{ "name": "zhangsan", "age": "20" }"

注:ie8(兼容模式),ie7和ie6没有JSON对象,推荐采用JSON官方的方式,引入json.js。

方法二:jQuery插件支持的转换方式

jQuery.parseJSON(jsonstr); // 可以将json字符串转换成json对象var str = '{"name": "zhangsan", "age": "20" }';var obj_from_str = jQuery.parseJSON(str);console.log(obj.name); // zhangsan

方法三:Javascript支持的转换方式

eval('('jsonstr')'); // 可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号var str = '{ "name": "zhangsan", "age": "20" }';var obj=eval('(' str ')');console.log(obj.name); // zhangsan

为什么要 eval 这里要添加 "("(" data ")");呢?

原因在于:eval本身的问题。 由于json是以'{}' 的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。

加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。

方法四:JSON官方的转换方式

http://www.json.org/ 提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;

可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。

    推荐阅读
  • 哪类人不宜喝红酒(哪类人不宜喝红酒呢)

    因为儿童的大脑还处于发育阶段,饮用包含葡萄酒在内的酒精饮料,极易影响儿童的大脑发育,导致儿童的智商下降,从而带来儿童注意力分散、记忆力下度降等不良后果。但肝病患者的肝脏功能或多或少地已受损害,对酒精的解毒能力较正常人来说较弱,故而肝病患者不适宜饮用葡萄酒。虽说葡萄酒有助于保护肠胃和帮助消化,但已有胃肠道疾病尤其是严重胃病的患者,是不适宜饮用葡萄酒的,否则很容易对胃造成刺激而加重病情。

  • 名人勤奋的故事(有关勤奋的故事盘点)

    为了背文章,司马光看书常常看到深夜,但是因为白天也在看书,所以一到晚上他就困得睁不开眼睛,有时竟会迷迷糊糊地躺在那儿睡着了。他把圆木头叫“警枕”。经过整整三年,他熟读了《诗经》305篇,从这些民歌民谣中吸收了丰富的营养,终于成为一位伟大诗人。《匡衡凿壁偷光》:勤奋好学,但家中没有蜡烛照明。匡衡就到他家去做雇工,又不要报酬。

  • 戏渝是什么意思(戏渝的意思是什么)

    下面更多详细答案一起来看看吧!戏渝是什么意思戏渝[xìyú]:见“[[戏豫]]”。词语分解戏的解释:戏戲)玩耍:游戏。嘲弄,开玩笑:戏言。演员在舞台上化装表演故事的艺术:戏剧。中国四川省重庆市的别称。

  • 家庭披萨(家庭披萨的做法)

    跟着小编一起来看一看吧!各类食材切好,青豆,鱿鱼焯水,肉末调味后加番茄酱炒制,备用。披萨饼胚铺入炒好的肉末,撒芝士末。依次放入食材,预热烤箱。入烤箱,上下火,200度.约十五分钟。芝士切薄片,放于面上,再进炉三五分钟待芝士微焦即可。

  • 二年级下册语文20课蜘蛛开店讲解(部编版二年级语文下20课蜘蛛开店知识点)

    知识点一、学习目标1.认识“店、蹲”等15个生字,会写“店、决”等9个字,会写“飞虫、决定”等8个词语。“蹲”写出了小蜘蛛在网上百无聊赖的样子。蜘蛛先后换了两次招牌,商店由口罩编织店改为围巾编织店又改为袜子编织店。河马嘴巴那么长,口罩好难织啊,蜘蛛用了一整天的功夫,终于织完了。原因是河马嘴巴很长。“口罩编织店,每位顾客只需付一元钱。”看来这口罩编制店不能开了。

  • 为什么说普罗米修斯是英雄(普罗米修斯的故事是什么)

    普罗米修斯,在希腊神话中,是提坦神族的神明之一,名字的意思是“先见之明”;,现在小编就来说说关于为什么说普罗米修斯是英雄?下面内容希望能帮助到你,我们来一起看看吧!

  • 白天喝柠檬水太阳晒会起斑吗(白天能不能喝柠檬水)

    有实验显示,要喝353个柠檬泡的水,照射300多个小时,才能有变黑的效果,因此白天可以放心喝柠檬水。柠檬会使维生素C损失。由于柠檬的酸性较强,维生素C的耐热性较好,并不会很容易损失,水温不高于60℃的温水是完全可以的。此外,柠檬水中还可以配合菊花、生姜或枸杞等制成柠檬茶。喝柠檬水的禁忌大人和小孩不宜空腹大量饮用柠檬水。柠檬水容易腐蚀牙釉质,造成牙齿问题,龋齿患者不宜经常饮用。

  • 离非瘟疫苗面世更近了!哈兽研、青岛易邦相关专利正在申请!

    近日,国家知识产权局持续公开两份关于非洲猪瘟疫苗的相关专利申请公告。其他关于非洲猪瘟疫苗相关研究也在申请专利,据公告称青岛易邦生物工程有限公司发明的表示非洲猪瘟CD2V蛋白细胞株,可用于鉴辞诊断,为生产非洲猪瘟亚单位疫苗和诊断试剂奠定了坚实的基础。

  • 大学生找工作要注意什么(盘点大学生找工作注意事项)

    一定要找有正规营业执照的公司。要交保证金、服务费等的公司一般都是骗子。仔细阅读劳动合同,一定要注意双方劳动合同是否可靠正规,如:合同上是否有公司名称、合同上是否有对员工提出违法要求、合同上是否有该公司的公章等。要充分了解目标公司的发展背景、发展理念以及主要发展领域。通过询问朋友或者网上查询该公司的面试题及面试风格,做好充分的面试准备。

  • 2022五月发朋友圈的可爱句子(适合五月发朋友圈的可爱句子)

    2022五月发朋友圈的可爱句子?2022五月发朋友圈的可爱句子五月,傍晚的风,湿漉漉的头发,没有喝完的红茶,桌上的新书,缠绕的耳机,疲惫的身体好,抽空想一下你。希望五月,砰砰跳动的心可以得到一点点回应。即使月光酿成酒,春天的五月也等不来八月的风。五月的馈赠是温柔的天气和慢慢变好的自己。绿豆冰、杏皮水、酸梅汤,阳光下白衬衫男生的侧脸,都是喜欢的夏天的味道。汽水降低的温度是夏日的奇遇。