json文件格式详解

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

大家好,又见面了,我是你们的朋友全栈君。

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建构于两种结构:

(1)“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

(2)值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

 

JSON具有以下这些形式:

1.对象

对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

json文件格式详解

 

2.数组

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

 json文件格式详解

 

值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。 

 json文件格式详解

 

字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。 

字符串(string)与C或者Java的字符串非常相似。 

 json文件格式详解

 

数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

 json文件格式详解

 

使用范例及注意事项

 

1.对象的每个属性都要有双引号,否则json数据不能正常加载

 

我们写一个python脚本做下测试:

 

import json

with open("data.json", 'r') as load_f:
    data=json.load(load_f)
    print(data)

 

 (1){“name”:”taoeyhuang”,”age”:18}

  json文件格式详解

(2){“name”:”taoeyhuang”,”age”:18,”sex”:”male”,hair:”black”} 这里hair属性没有带双引号

 json文件格式详解

 

异常日志“json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 44 (char 43)”

我们也可以看出异常的原因是双引号的问题

 

2.多对象范例(数组+对象)

 

数组中可以嵌套数组也可以嵌套对象

{

    "name": "BeJson",

    "url": "http://www.bejson.com",

    "page": 88,

    "isNonProfit": true,

    "address": {

        "street": "科技园路.",

        "city": "江苏苏州",

        "country": "中国"

    },

    "links": [

        {

            "name": "Google",

            "url": "http://www.google.com"

        },

        {

            "name": "Baidu",

            "url": "http://www.baidu.com"

        },

        {

            "name": "SoSo",

            "url": "http://www.SoSo.com"

        }

    ]

}

参考博客:http://www.json.org/json-zh.html

 

posted @
2018-02-28 14:47
二十四向风 阅读(
) 评论(
)
编辑
收藏
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126561.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rc522 nfc_基于单片机的门禁系统

    rc522 nfc_基于单片机的门禁系统文章目录1.前言(包括一些个人理解)1.前言(包括一些个人理解)(2021/11/1编辑)在项目需要做一个NFC门禁功能的时候,突然发现有个RC522丢在我的桌面,甚至不知道它上面的引脚什么意思(还不会SPI通讯),搜索关键词“RC522”去看博客搜索资料,发现了很多都在说扇区,块,S50(M1)卡,然后就给代码,一开始我还以为S50是内嵌在这个模块里面的一个存储器,然后越看越怪,后面去淘宝搜索S50,才发现S50其实是我们的门禁卡,RC522是用来感应和判断的。…

    2025年12月5日
    6
  • WPF Visifire 图表控件「建议收藏」

    WPF Visifire 图表控件「建议收藏」VisifireWPF图表控件激活成功教程可能用WPF生成过图表的开发人员都知道,WPF虽然本身的绘图能力强大,但如果每种图表都自己去实现一次的话可能工作量就大了,尤其是在开发时间比较紧的情况下。这时候有必要借助一种专业的图表工具。Visifire是专为WPF、SliverLight、WP开发人员制定的一套图表控件,实现了一系列的专业图表(如:柱图、…

    2022年7月21日
    17
  • 【教程】详解VS2010安装流程[通俗易懂]

    【教程】详解VS2010安装流程  原文网址链接为:http://jingyan.baidu.com/article/4e5b3e195b838991901e24e5.html  VS2010全称“Microsoft Visual Studio 2010”,是微软公司推出的开发环境。也是目前流行的Windows平台应用程序开发环境。注意:在第6步安装时,产品安装路径可以选择

    2022年4月16日
    62
  • Burp_suite安装及使用教程(专业版)

    Burp_suite安装及使用教程(专业版)1、工具下载地址:https://down.52pojie.cn/Tools/Network_Analyzer/Burp_Suite_Pro_v1.7.37_Loader_Keygen.zip工具运

    2022年6月30日
    29
  • 从控制层返回到js的json数据带“\”转译符,怎么去掉

    从控制层返回到js的json数据带“\”转译符,怎么去掉

    2021年7月19日
    297

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号