JSON
{
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": 10021
},
"phoneNumbers": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}
语义
list:其中装的是同一类的东西,可以是数字,字符串,也可以是同类那个的list或者dict
dict:其中装的是不同的东西,但是这些东西本身是相关的,没有顺序性,比如city,street等信息组成了一个addrss
注意事项:
- 不要将list语义的东西写成dict,如下
[
12,
"Hello World",
{
"name": "bill",
"age": 10
}
]
2,不要将dict语义的东西写成list,如下
{
"bill": {
"age": 10,
"sex": "male"
},
"jack": {
"age": 20,
"sex": "male"
},
"lucy": {
"age": 30,
"sex": "female"
}
}
Python如何操作JSON
- 如果从语言dict和list的角度,由于是动态类型,不需要提前声明,所以,可以非常方便的各种dict,list嵌套
- 对于JSON库方面,可以支持将python中dict,list嵌套的数据转为JSON字符串,反之也可以
Java如何操作JSON
-
如果从语言Map和List的角度,由于是静态类型,需要提前声明,所以,单从Map和List嵌套的角度来说层数超过2层光声明都非常难看
-
对于JSON库方面,所支持的非常多,典型操作有如下两种:
a):通过库解决类型声明的问题,如下:// Java program for write JSON to a file import java.io.FileNotFoundException; import java.io.PrintWriter; import java.util.LinkedHashMap; import java.util.Map; import org.json.simple.JSONArray; import