财讯中国

json格式是什么?json格式详细介绍

来源:互联网 2020-12-15 16:31:49

一、json基础入门

1、什么是json

JSON:一种与开发语言无关的、轻量级的数据存储格式,全称JavaScript Object Notation,一种数据格式的标准规范,起初来源于JavaScript这门语言,后来随着使用的广泛,几乎每门开发语言都有处理JSON的API。

优点:易于人的阅读和编写,易于程序解析与生产。

JSON样例:首先一个花括号{},整个代表一个对象,同时里面是一种Key-Value的存储形式,它还有不同的数据类型来区分

2、数据类型表示

数据结构:Object、Array

基本类型:string,number,true,false,null

(1)Object

{key:value,key:value...}

key:string类型

value:任何基本类型或数据结构

(2)Array

[value,value...]

value:任何基本类型或数据结构。

比如:{"name":"李广", "values":[1,2,45,"你好"] }

3、JSON数据示例

二、JSON IN JAVA

1、json使用

2、使用Map构建json

【a】:创建Map集合,通过Map的put方法存储数据。

【b】创建JSONObject对象并把Map对象作为参数

3、使用Java Bean构建对象

【a】创建Java Bean

【b】创建JSONObject,并把Bean作为参数

4、从文件读取json

辅助:一般解析JSON数据时,需要获取JSON数据的途径,这个途径可能是文件读取或远程API网络上获取JSON数据,这里讲解从文件途径中进行文件读取,并转换成一个我们想要的对象,在pom文件中引入common-io的依赖,该包方便读取文件的内容。

案例:从一个文件中读取JSON数据,并转换为对象。

步骤1:项目中创建王小二的JSON格式数据。

步骤2:读取该文件,首先声明JSON文件的File,并指明该文件的路径(项目的根路径下)

步骤3:通过FileUtils类的readFileToString读入JSON文件,再通过JSONObject构造函数传入读入的JSON文件。

JSONObject提供了一些获取指定key值的方法:

【1】getString("key")获取value类型为String的值

【2】getDouble("key")获取value类型为number的值

【3】getBoolean("key")获取value类型为boolean的值

【4】getJSONArray("key")获取value类型为数组的值,它的返回值是JSONArray,它是一个数组。

如果在读取时,JSON数据中没有指定key,一般需要打印一个日志或者抛出一个异常,这里可以使用JSONObject对象的isNull("key")方法,判断如果没有key值做一些操作。

三、GSON的使用

1、GSON生成json数据

步骤1:添加依赖

步骤2:使用JavaBean创建GSON数据,通过GSON的toJson(Bean对象)就可以转换为GSON数据。

GSON:可以使用@SerializedName(“NAME”)改变GSON的key值。

2、生成json数据

GSON:可以输出JSON样式数据,可以使用GsonBuilder在构建JSON数据过程中,使用setPrettyPrinting()方法,然后就不使用new Gson对象而是通过gsonBuilder.create()来创建Gson对象。

GSON:可以使用GsonBuilder对象在解析时,使用setFieldNamingStrategy(回调函数)进行一些操作,例如:把Key变成大写,如果为其他还是默认值。

GSON:JavaBean的有些属性不想暴露在JSON数据中,通过JSON的默认生成方式会将所有属性生成key和value进行输出,而GSON通过声明一个类型为transient类型的属性,这样在JSON数据生成过程中就会忽略掉该属性。

3、GSON解析

4、GSON解析 日期转换

JSON不支持日期格式数据,所以只能使用String类型的日期。但是java中有Date数据类型的数据,GSON是支持日期类型数据的(此处的支持是指将日期转换成Date的格式)。

步骤1:创建Gson对象时,通过new GsonBuilder()的setDateFormat(“yyyy-MM-dd”).create(),通过该模板GSON会把符合该模式的字符串日期自动转换成Date的类型

5、集合类解析

GSON另外一个常用操作:进行转换和解析过程中,能够将JSON中的数组和java中的集合类进行对接。

案例:这里把实体类中数组类型的major换为集合类型List。

标签: json格式 json入门精通

相关新闻

曝真我GT2 Pro春节前上市 20日举行预沟通会
2022-01-13 06:31:06
一台干衣机每年可向外部环境排出多达1.2亿个微纤维
2022-01-12 23:45:57
罗技发布照明配件Litra Glow 为视频通话与内容创作中的人物补光
2022-01-12 23:45:51
金域医学:主动传播病毒等传言不实 请公众勿造谣传谣
2022-01-12 23:45:44
瑞银CEO:比特币价格今年或达7.5万美元 推动者正是大伙
2022-01-12 23:45:39
iPhone 14 Pro再次被传将配备4800万像素摄像头
2022-01-12 23:45:31
奥斯汀街头骗子盯上停车咪表:放置自制二维码以窃取付款信息
2022-01-12 23:45:23
英国监管机构正式对微软收购Nuance一案展开调查
2022-01-12 23:45:16
Red Hat/Fedora Anaconda迁移到基于网络的新UI
2022-01-12 23:02:56
年轻人的第一台布加迪!布加迪纯电动踏板车发布
2022-01-12 23:02:47
黑客组织Patchwork感染自己开发的恶意程序
2022-01-12 23:02:33
哈勃科技投资物联网的操作系统服务商开鸿
2022-01-12 23:02:26
罗技推出Signature M650鼠标 3款型号 售价249元
2022-01-12 23:02:17
微软发布补丁 修复HTTP协议栈远程执行代码漏洞
2022-01-12 23:02:08
发现最偏心系外行星,每隔几周就会变得非常热
2022-01-12 23:01:56
企查查数据:2021年我国商业航天融资超64.5亿元
2022-01-12 23:01:48
LG加入IBM Quantum Network 推进量子计算的应用
2022-01-12 23:01:41
Windows 11获累积更新 升至Build 22000.434
2022-01-12 23:01:33
T-Mobile声称未大规模屏蔽iCloud隐私中继功能
2022-01-12 23:01:25
Android端Firefox Focus新增隐私保护功能
2022-01-12 23:01:19
大量Wordle“克隆”应用从苹果App Store中消失
2022-01-12 23:01:08
Verizon、AT&T表示未阻止iCloud隐私中继功能
2022-01-12 23:00:57
微软前高管建议剥离Office和Windows 专攻云计算
2022-01-12 23:00:49
指纹解锁共享单车!美团公开新专利
2022-01-12 22:53:06
限制挖矿算力!微星发布三款RTX 3080 12G系列显卡
2022-01-12 22:52:11
三星重振中国市场再出大动作!和京东签署国内战略协议
2022-01-12 22:51:26
还是张朝阳会玩!集结明星在长白山直播三天三夜!
2022-01-12 22:50:17
小米 10S正式推送MIUI 13:桌面更加流畅
2022-01-12 22:48:36
曝真我GT2 Pro春节前上市 20日举行预沟通会
2022-01-12 22:00:38
19岁少年远程入侵25辆特斯拉汽车 称利用软件漏洞
2022-01-12 21:19:34
赴港上市前夜 美菜网被爆总部搬迁、裁员40%
2022-01-12 21:19:27
索尼推出《蜘蛛侠:英雄无归》联名款全新WALKMAN
2022-01-12 21:19:17
魅族冬季新品发布会:lipro、PANDAER、mblu 齐登场
2022-01-12 21:19:00
美国新冠住院人数突破去年峰值 福奇:奥密克戎会传到每一个美国人
2022-01-12 21:18:50
“最冷春节”即将上线 新能源车主开不回老家?
2022-01-12 21:18:42
GeForce RTX 3080 12GB上线电商平台 售价约为1万元
2022-01-12 21:18:34
韩国批准诺瓦瓦克斯新冠疫苗 辉瑞新冠口服药明日送达
2022-01-12 21:18:27
空客2021年共交付611架民用飞机
2022-01-12 21:18:19
Windows Subsystem for Android更新 开始支持GPU切换
2022-01-12 21:18:11
“假笑男孩”祝福视频450元一条:每月在中国都接到订单 量不是特别大
2022-01-12 21:18:02
微商噩梦:微信朋友圈折叠图片新功能悄然上线
2022-01-12 21:17:46
Moto G Stylus 2022最新渲染图揭示其完整外貌:三颗摄像头+打孔屏
2022-01-12 21:17:40
UNITEX推出支持USB连接的LTO-9磁带驱动器
2022-01-12 21:17:31
支持LTE Advanced的Surface Pro 8现在可以从微软官网订购
2022-01-12 18:13:39
Check Point安全报告显示去年企业受到的总体网络攻击量有明显增加
2022-01-12 18:13:33
LG新能源称凭借积压订单将很快击败宁德时代
2022-01-12 18:13:24
Intel NUC迷你机产品线调整 12代酷睿平民版被砍
2022-01-12 18:13:18
美国因感染新冠病毒住院治疗人数达到历史最高水平
2022-01-12 18:13:13
NVIDIA宣布DLDSR AI超分辨率技术:驱动集成、无需游戏优化
2022-01-12 18:13:08
5部手机同时抽中2300元“优惠券” 扫地机器人大奖背后是何套路?
2022-01-12 18:13:02
波音2021年飞机交付量大增 但仍落后于对手空客
2022-01-12 18:12:55
辉瑞疫苗合作商BioNTech:今年新冠疫苗的收入可能会减少
2022-01-12 18:12:50
加拿大研究显示因感染新冠病毒住院的儿童出现严重并发症的风险较高
2022-01-12 18:12:43
加拿大魁北克省将对拒绝接种新冠疫苗者处以高额罚款
2022-01-12 18:12:36
从27个行业标杆,看2022营销与经营风向标|巨量引擎引擎奖榜单公布 (FOR seo)
从27个行业标杆,看2022营销与经营风向标|巨量引擎引擎奖榜单公布 (FOR seo)
2022-01-12 16:50:28
入场2022,从看懂这16个案例开始|巨量引擎引擎奖榜单公布
入场2022,从看懂这16个案例开始|巨量引擎引擎奖榜单公布
2022-01-12 14:16:53
iPhone14或采用药丸形打孔屏 最全外形渲染图都在这里了
2022-01-12 13:58:39
LG发布4K 160Hz游戏显示器32GQ950
2022-01-12 13:58:33
iPhone 13 Pro DxO续航测试59小时
2022-01-12 13:58:22
联想拯救者Y90已入网:68W祖传快充
2022-01-12 13:58:16
腾讯全新游戏品牌“腾讯先锋”公布:不用下载
2022-01-12 13:58:08
苹果抛光布重新上架 145元当天发货
2022-01-12 13:46:53
10秒销售额破亿!iQOO 9今日开售战报发布
2022-01-12 13:46:48
文战元宇宙
2022-01-12 13:46:44
下月见!Redmi K50电竞版跑分曝光
2022-01-12 13:46:39
小米有责任,捐赠1000万成立体育奖学金
2022-01-12 13:46:34
配备单色OLED屏 山灵正式发布UA系列便携解码耳放UA5
2022-01-12 13:46:29
荣耀50系列荣获“2021年度经典焕新品牌”
2022-01-12 13:46:23
机构发布报告称智能手表的销量将继续强劲增长
2022-01-12 13:46:17
可选RTX 3070 Ti 150W满功耗释放 联想拯救者 Y9000P 2022将发布
2022-01-12 13:46:12
曝真我GT2 Pro春节前上市 20日举行预沟通会
2022-01-12 13:34:39
2022环境检测机构使命再升级
2022环境检测机构使命再升级
2022-01-12 09:59:21
苹果搜歌神器Shazam推出可识别播放歌曲的Chrome浏览器扩展
苹果搜歌神器Shazam推出可识别播放歌曲的Chrome浏览器扩展
2022-01-12 08:30:09
微软突然公开macOS漏洞细节!苹果发文感谢并称已确认修复
微软突然公开macOS漏洞细节!苹果发文感谢并称已确认修复
2022-01-12 08:28:09
ColorOS 12.1南德TUV A级认证出炉:可坚持36个月流畅不卡顿
ColorOS 12.1南德TUV A级认证出炉:可坚持36个月流畅不卡顿
2022-01-12 08:26:11
企业微信4.0正式发布:强化品牌直播带货并全面接入腾讯文档
企业微信4.0正式发布:强化品牌直播带货并全面接入腾讯文档
2022-01-12 08:24:25
微软为Win11版Defender设计全新界面:调整UI并重构底层界面
微软为Win11版Defender设计全新界面:调整UI并重构底层界面
2022-01-12 08:22:56
曝iPhone 14三种屏幕对比图出炉:药丸打孔屏大幅增加屏占比
曝iPhone 14三种屏幕对比图出炉:药丸打孔屏大幅增加屏占比
2022-01-12 08:21:28
iPhone14或采用药丸形打孔屏:屏占比大幅提升,最高容量2TB
iPhone14或采用药丸形打孔屏:屏占比大幅提升,最高容量2TB
2022-01-12 08:19:22
曝三星Galaxy S22系列处理器标配高通骁龙8!频率可达1300MHZ
曝三星Galaxy S22系列处理器标配高通骁龙8!频率可达1300MHZ
2022-01-12 08:15:03
NVIDIA宣布DLDSR AI超分辨率技术:可提升任意游戏性能70%
NVIDIA宣布DLDSR AI超分辨率技术:可提升任意游戏性能70%
2022-01-12 08:13:37
PCIe 6.0正式发布:允许数据双向流动,x16带宽增至256GB/s
PCIe 6.0正式发布:允许数据双向流动,x16带宽增至256GB/s
2022-01-12 08:12:23
苹果:App开发者已经挣了2600亿
2022-01-12 06:16:47
米哈游侧目!腾讯人气手游一年吸金178亿:你贡献多少
2022-01-12 06:16:42
别老拿爱优腾跟Netflix比 根本不是一码事
2022-01-12 06:16:36
Windows 11效率将更高 提高文件管理器性能
2022-01-12 06:16:28
你用多沉的哑铃?这个智能产品对着说就行
2022-01-12 06:16:21
Intel人事调整:CFO退休 新女将接任PC业务主管
2022-01-12 06:16:06
最佳开发商 Xbox可以FaceTime 通话
2022-01-12 06:15:59
全球销量破亿!任天堂Switch OLED国行版开卖 只要2599元
2022-01-12 06:15:55
曝真我GT2 Pro春节前上市 20日举行预沟通会
2022-01-12 06:05:06
从核酸检测到健康码,为什么系统总是“崩了”?
2022-01-12 00:09:00
美联社宣布进军NFT 主打新闻摄影市场
2022-01-12 00:08:55
种植牙将纳入两级医保集采 降价幅度有望达到60%-90%
2022-01-12 00:08:46
1月28日至3月13日,北京禁飞“低慢小”航空器
2022-01-12 00:08:39
邢台18岁女孩百草枯中毒 肺移植后已经可以下床活动
2022-01-12 00:08:33
全球上层海洋温度连续第六年打破纪录
2022-01-12 00:08:28
女外卖骑手的飞驰人生:成为零差评收割机 在男人堆里杀出一条活路
2022-01-12 00:08:17
iPhone 14 Pro与iPhone 13 Pro同框照曝光:新老外形对比强烈
2022-01-12 00:08:10
Rivian在2021年生产了超1000辆电动汽车 符合下调预期
2022-01-11 23:39:04

热门文章

热点专题