用Java处理JSON 一

用Java处理JSON 一

JSON是什么

网上看了一篇不错的文章数据类型和Json格式,里面引用了yaml的文档,对数据的结构类型做了归纳:

  • 第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如”北京”这个单独的词
    • 第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List),比如”北京, 上海”
    • 第三种类型是映射(mapping),也就是一个名/值对(name/value),即数据有一个名称,还有一个与之相对应的值,这又称作散列(hash)或字典(dictionary), 比如”首都:北京”

刚好最近又一次做到JSON格式日志的解析,就把关于JSON的知识整理一下

JSON官网上对JSON的结构做了介绍,概括起来,就是对象数组两种形式:

  • 对象用大括号"{}"表示,对象就是所谓的映射
  • 数组用方括号"[]"表示,数组就是所谓的序列
  • 在编程语言中,只要有了数组(array)和对象(object)就能够储存一切数据了

用Java处理JSON

Java上被推荐的用来处理JSON格式数据的第三方库有gsonjackson,因为之前用gson用的稍微多一点,所以在库的选型上又一次偏向于gson(2.8.0)

gson库最原始的用法,就是根据JSON的两种数据类型(对象和数组),利用JsonObject类JsonArray类手动处理数据中的每个元素:

  • JsonObject可以通过get("key").getAsXXX()获得相应类型的值, 通过addProperty("key", $value)设置相应元素的值
  • JsonArray可以通过get(index).getAsXXX()获得相应类型的值, 通过add($value)设置相应数组的一个值
  • 遇到JSON嵌套格式, 可以通过getAsJsonObject()getAsJsonArray()转换成子JSON对象子JSON数组进行处理

其他重要代码:

/* 将一条完整的信息(String)转化成JSON对象 */
JsonObject jsonObject = new JsonParser().parse(messages).getAsJsonObject(); 
/* 将JSON对象转换成输出信息(String) */
new Gson().toJson(jsonObject);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值