javascript对象是javascript object,它是javascript中的对象,格式很严格,不支持注释。
JSON文本和JSON对象之间的差异:
JSON文本是符合JSON格式的文本,实际上是字符串
JSON对象是内存中的对象,具有属性和方法,可以从对象中检索参数信息
在Python中,JSON对象一般是指词典
Python的词典格式和JSON的格式略有不同:
词典中的引号支持单引号和双引号,JSON格式仅支持双引号
词典中的True/False的首字母为大写,JSON格式为True/False
词典的空值为None,JSON格式为null
Jon是用于存储数据和交换文本信息的语法
javaScript对象表示
用于数据传输
json数据格式python的数据
整数浮点数
字符串
布尔值true false True False
数组列表。 元祖
对象词典
空none
常见的json数据格式
{
代码: 200、
values:[
{'name':'lal ',' age':20}]
}
{} josn数据对应于json对象
[] josn序列
代码如下所示
import json
age=10
#dumps将数据变换为json语法的数值数据
json_data=json.dumps(age )
打印(JSON _ data )为
name='橙色'
json_dta=json.dumps(name )
打印(JSON _ data )为
person={'chinese':99}
json_data=json.dumps(person )
打印(JSON _ data )为
可以用python定制的类型定制的类型json没有对应的数据格式
#需要编写将自定义类型的数据转换为json可以识别的数据的编码规则
类个人() :
def __init__(self,name ) :
self.name=name
def __str__(self ) :
returnf ' person (name={ self.name } )。
从#__repr__容器调用对象中调用__repr__
#__str__输出打印对象时设定的格式信息
__repr__=__str__
p=Person ('橙色) ) ) )。
print(p )是
打印(type ) p ) #
json没有对应的数据
需要获取存储人员类型数据的json可以识别的数据格式
#方式1
#对象__dict__取得的对象的特征信息以词典形式被存储
JSON_data=JSON.dumps(p.__dict_ ) ) ) ) ) )。
打印(JSON _ data ) {'name':'_u6a59(u5b50'}
#本质上保存着词典
#loads解析为json数据
python _ data=JSON.loads (JSON _ data )
打印(python _ data )。
#对应对象是波斯顿对象,需要根据数据信息创建对象
p=Person(python_data['name']
print(p,type(p ) ) # person (name=橙色) ) ) ) ) ) )。
#方法2存储时设定编码规则存储指定的编码规则数据
#取得时,对应于存在基于数据解析为对象解码规则
#针对以上操作进行打包
#人员代码
classpersonencoder (JSON.JSON encoder ) :
#改写方法
#此方法在dumps时在内部自动调用
#子类重写父类方法的子类在党调用时只能调用重写。 因为可以吧,所以由父类的方法覆盖
defdefault(self,o ) :
写下规则
#o表示要进行json转换的对象
return o.__dict__
P=Person ('橙子2 ) ) ) ) ) ) ) ) ) ) ) ) ) )。
#创建cls编码规则
#对象__dict__取得的对象的特征信息以词典形式被存储
JSON_data=JSON.dumps(p,cls=PersonEncoder ) ) ) ) ) )。
打印(JSON _ data ) {'name':'_u6a59(u5b502'}
解析JSONDecoder
classpersondecoder (JSON.JSON decoder ) :
def __init__(self ) :
#指定解码规则
#object_hook对象挂接-对象分析-接受的是函数
super ()._init_ () object_hook=self.to_python_obj ) ) ) ) ) ) ) ) ) )。
defto_python_obj(self,d ) :
#d是接受词典并转换为当前创建的json对象的数据格式
returnperson(d['name ' ) ]
#分析操作
python _ data=JSON.loads (JSON _ data,cls=PersonDecoder ) ) ) ) ) )。
print(python_data ) # person (name=橙子2 ) ) ) ) ) ) ) ) ) ) ) )。
以上就是本文的全部内容。 希望对大家的学习有帮助。 另外,请支持python博客。