json格式

某天聊天时听到有人说,json必须以 { 开头,以 }结尾,顿时很无语。
Json到底该是什么样子,官方网站上说的很明白.
另外附上一个很不错的在线验证及格式化Json的网站:Json.cn
本文对Json的格式简单说下



Json简介

JSON是 JavaScript Object Notation 的缩写,它是一种数据交换格式,2002年由道格拉斯·克罗克福特(Douglas Crockford)发明的。
在它之前,大家都用XML来交换数据,XML是纯文本格式,本身不难,但是加上 DTD、XSD、XSLT 等一堆规范后就相当复杂了。


JavaScript中的对象

既然JSON是JavaScript Object Notation,我们就看看JavaScript中都有什么对象。
JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成, 一个普通的js对象用一个{...}表示,键值对以key : value形式声明。
除此之外还有 number、string、boolean等对象,可以通过 typeof obj来获取对象的类型,如下:

// 普通对象
var obj = {
    name   : "小明",
    gender : "男",
    age    : 28
};
// 空对象
var o = null;
// 数组对象
var arr = [1, 2, 3];
// 数字对象
var num1 = 1;
var num2 = 123.456;
// 字符串
var str = "abcde";
// 布尔
var bool = true;

typeof obj; // object
typeof o;   // object
typeof arr; // object

typeof num1; // number
typeof num2; // number
typeof str;  // string
typeof bool; // boolean

上面例子中,虽然{}, null, []都是object,但是他们的形式不太一样。


Json中的对象

JSON中的对象来自于JavaScript中,总共以下这几种数据类型:

numberjs中的number
booleanjs中的boolean, 即true或false
stringjs中的string
nulljs中的null
arrayjs中的的Array, 即[]形式的对象
objectjs中的普通对象, 即{ … }形式的对象.

另外JSON还规定了字符集必须用UTF-8, 字符串必须用双引号"", 对象中的key也必须用双引号""
所以,以下的json都是正确的:

null
"一个字符串"
3.14
[1, 2, 3, "asdf"]
{"name" : "Rose", "age": 18}

注意:

  • {"name" : "Rose", "age": 18}是普通对象, 3.14也是一个对象,两者都是合法的json串
  • null, 3.14这样不是合法的json串,要表示多个对象,必须放到普通对象中以键值对的形式出现

Json的格式

像上面的说的,Json的值有一定的格式,应该是下面图中的样子:
Json值

其中的string就是正常的字符串, number就是数字,如整数、小数、负数等;

其中的object应是下图描述的样子:
Json的object

其中的array应是下图描述的样子:
Json的array

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSON是一种轻量级的数据交换格式,它以易于读写的文本格式被广泛应用于前后端数据交互。在Python中,我们可以使用json模块来实现对JSON格式数据的编码和解码。其中json.loads()函数可以将一个符合JSON格式字符串转化为Python对象,常用于从文件或网络获取JSON数据后进行解析处理。例如: ```python import json json_str = '{"name": "John", "age": 30, "city": "New York"}' json_obj = json.loads(json_str) print(json_obj['name']) # 输出John ``` 在这个例子中,我们首先定义了一个符合JSON格式字符串`json_str`,包含了一个名为`name`、年龄为`30`,居住在纽约的人的信息。接着我们使用json.loads()函数将其转化为Python对象,并输出其中的`name`属性。 需要注意的是,如果JSON格式字符串不符合规范,会抛出异常。同时,如果我们需要将一个Python对象转化为JSON格式字符串,则可以使用json.dumps()函数。如果需要对JSON数据进行格式化输出,则可以指定`indent`参数。例如: ```python import json data = {'name': 'John', 'age': 30, 'city': 'New York'} json_str = json.dumps(data, indent=4) print(json_str) ``` 这里我们首先定义了一个字典类型的Python对象`data`,包含了一个名为`name`、年龄为`30`,居住在纽约的人的信息。接着我们使用json.dumps()函数将其转化为JSON格式字符串,并指定`indent=4`参数,以便于输出格式化后的JSON字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值