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 json

rootPath = "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从立地到成佛

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值