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

相关文章

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

C#下Newtonsoft.Json的具体使用

《C#下Newtonsoft.Json的具体使用》Newtonsoft.Json是一个非常流行的C#JSON序列化和反序列化库,它可以方便地将C#对象转换为JSON格式,或者将JSON数据解析为C#对... 目录安装 Newtonsoft.json基本用法1. 序列化 C# 对象为 JSON2. 反序列化

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

详解MySQL中JSON数据类型用法及与传统JSON字符串对比

《详解MySQL中JSON数据类型用法及与传统JSON字符串对比》MySQL从5.7版本开始引入了JSON数据类型,专门用于存储JSON格式的数据,本文将为大家简单介绍一下MySQL中JSON数据类型... 目录前言基本用法jsON数据类型 vs 传统JSON字符串1. 存储方式2. 查询方式对比3. 索引

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

MySQL 8 中的一个强大功能 JSON_TABLE示例详解

《MySQL8中的一个强大功能JSON_TABLE示例详解》JSON_TABLE是MySQL8中引入的一个强大功能,它允许用户将JSON数据转换为关系表格式,从而可以更方便地在SQL查询中处理J... 目录基本语法示例示例查询解释应用场景不适用场景1. ‌jsON 数据结构过于复杂或动态变化‌2. ‌性能要

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

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

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