json——一探究竟

2023-11-01 09:41
文章标签 json 究竟 一探

本文主要是介绍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——一探究竟的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/322119

相关文章

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转