首页天道酬勤json解析,json对象和json字符串

json解析,json对象和json字符串

张世龙 05-04 17:45 35次浏览

1、json简表JSON(JavaScriptobjectnotation )是一种轻量级的数据交换格式,方便人们阅读和书写。 也更容易通过机器进行分析和生成。 适用于进行数据交换的场景,如网站前台与后台之间的数据交换。 JSON和XML的比较是无法比较的。

Python 2.7附带了JSON模块,因此可以直接在importjson中使用。

官方文档: http://docs.python.org/library/JSON.html

json简单来说就是javascript中的对象和数组,所以这两种结构是对象和数组两种结构,这两种结构可以表示各种复杂的结构:

对象:对象在js中表现为用{ }包围的内容,数据结构是{ key:value,key:value, }的键值对的结构。 在面向对象语言中,key是对象的属性,value是对应的属性值,因此很容易理解。 取值方法是对象. key获取属性值,该属性值

数组:数组在js中用大括号[ ]括起来,数据结构为['Python '、' javascript '、' c '、 ],取值方法与使用所有语言一样。 字段值类型可以是数字、字符串、数组和一些对象。

2、json模块

Jon模块是dumps、dump、loads、load,用于字符串 和 python数据类型间进行转换

3358 www.Sina.com/# JSON.loads (-- JSON是Python对象json#json数据类型str _ list=3358 www.Sina )

3358 www.Sina.com/JSON http://www.Sina.com/chardetlist _ str=[ 1,2,3,4 ] tuple _ str=(1,2,3,3 ), 4 ) dict _ str={ http://www.Sina.com/:3358 www.Sina.com/3358 www.Sina.com/:3358 www.Sina.com } 打印(type (list _ str ) ) class ' list ' print (list _ str ) ) class (list ) print ) ) 65 3,4 ) ' print (type (type ) 4 ] str _ tuple=json.dumps 3,4 ) ' #注意: JSON.dumps ()序列化时默认使用的ascii编码)附加参数ensure_ascii=False为ascii 其中,confidence是检测精度str_dict=JSON.dumps(dict_str ) print (type ) str_dict ) # class ' str ' print (str _ DDD ) 编码=chardet.detect (str _ dict.encode () print (encode ) encode ) )编码' : ' ascii ', 检查“编码”编码方式的“语言”:“”#设置是utf-8编码print(JSON.dumps(DICT_str,ensure _ ) city': '北京' }str_dict=JSON.dumps(dict_str, ensure _ ascii=http://www.Sina.com/).encode(encode=chardet.detect ) str_Dict (打印) encode ) ) { }

"city": "北京"}, {"name": "大刘"}]#保存列表到list_str.json文件中,并且以utf-8编码fw = open("list_str.json","w",encoding="utf-8")json.dump(list_str, fw, ensure_ascii=False)dict_str = {"city": "北京", "name": "大刘"}#保存字典到dict_str.json文件中,并且以utf-8编码fw = open("dict_str.json","w",encoding="utf-8")json.dump(dict_str,fw , ensure_ascii=False,) #json.load()--json转python类型且读取文件 import jsonf = open("list_str.json","r",encoding="utf-8")strList = json.load(f)print(strList)#[{'city': '北京'}, {'name': '大刘'}]strDict = json.load(open("dict_str.json",encoding="utf-8"))print(strDict)#{'name': '大刘', 'city': '北京'} 3. JsonPath

JsonPath 是一种信息抽取类库和XPath类似的规则,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript,Python, PHP 和 Java

JsonPath 对于 JSON 来说,相当于 XPATH 对于 XML。

官方文档:http://goessner.net/articles/JsonPath

Json结构清晰,可读性高,复杂度低,非常容易匹配,下表中对应了XPath的用法。

XPath

JSONPath

描述

/

$

根节点

.

@

现行节点

/

.or[]

取子节点

..

n/a

取父节点,Jsonpath未支持

//

..

就是不管位置,选择所有符合条件的条件

*

*

匹配所有元素节点

@

n/a

根据属性访问,Json不支持,因为Json是个Key-value递归结构,不需要。

[]

[]

迭代器标示(可以在里边做简单的迭代操作,如数组下标,根据内容选值等)

|

[,]

支持迭代器中做多选。

[]

?()

支持过滤操作.

n/a

()

支持表达式计算

()

n/a

分组,JsonPath不支持


jsonpath的java,怎么写json