本文主要是介绍json——一探究竟,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、json是什么
json——JavaScript Object Notation(JavaScript对象表示)的简写,是一种轻量级的文本数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据
2、json和xml的对比
json和xml作为常用的两种存储格式,有什么不同呢?
下面同样的数据存储成Json和xml生成的结果如下
json:
xml:
json作为后来者,肯定是吸取了前任的各种经验,因此json和xml有着一些相同的优点:
1、可读性好,结构清晰
2、扩展性高
3、都跨平台,可作为数据传输格式
同样的,作为后来者,json肯定有着xml一些没有的特点和优势,例如:
1、数据格式简单,易读易写,且数据都是压缩的,文件较小,便于传输。
2、json解析难度较低,而xml需要循环遍历DOM进行解析,效率较低。
3、服务端和客户端可以直接使用json,便于维护,例子《python实现RPC》。而不同客户端解析xml可能使用不同方法。
4、json 已成为当前服务器与 web 应用之间数据传输的公认标准。
5、json常常作为引擎中的数据格式,用于数据存储,比如UE4就大量使用了以json为格式的数据进行存储、交互
尽管如此,xml仍有它独有应用领域:
1、xml格式较为严谨,可读性更强,更易于拓展,可以良好的做配置文件。
2、出现较早,在各个领域有广泛的应用,具有普遍的流行性。
3、用python生成json格式的数据
# -*- coding: utf-8 -*-
import os
import jsonrootPath = "F:\PythonXSLWorkSpace\PythonBaseUse\JsonUse"def getContent():Human = [{'name': 'Hong', 'age': 18, 'sex': 'boy'},{'name': 'Xu', 'age': 18, 'sex': 'girl'},{'name': 'Wu', 'age': 30, 'sex': 'girl'}]return Human# write file
def createFile(filePath, content):with open(filePath, 'w+') as f:f.write(json.dumps(content))# read file
def readFile(path):if os.path.exists(path):with open(path) as file_object:contents = file_object.read()return json.loads(contents)else:print('the path is not exists')fileName = os.path.join(rootPath, "jsonFile.json")
createFile(fileName, getContent())
decodeContent = readFile(fileName)
for i in range(0, len(decodeContent)):print(decodeContent[i])
简单描述上述代码作用:将Human转为json格式,并存储到"jsonFile.json" 中,运行结果如下
4、参考文章
json从立地到成佛
这篇关于json——一探究竟的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!