Java小知识点之JSON字符串
1.简介
JSON是JavaScript Object Notation(JavaScript 对象表示法)的简称,他是一种存储和交换文本信息的语法,类似 XML,但是他会 比 XML 更小、更快,更易解析,现在正在大面积使用中。。。
JSON语法是以键值对形式进行展示的,外层使用大括号,里面的内容可以是字符串、数值、布尔、数组、对象和null。
JSON由于使用的是JavaScript语法,所以在使用的时候不用进行额外的处理,只要能写js的地方都可以使用。
1.1 JSON的数字类型
JSON 数字可以是整型或者浮点型,eg:
{"num":123}
{"num":123.123}
1.2 JSON的对象类型
JSON 对象是在大括号"{}"中进行书写,可以只有一个键值对,包含多个键值对,其中键需要通过 "" 进行包裹,注意是英文的引号,如果有多个键值对的时候需要透过英文逗号","进行分割,eg:
{"name":"小明"}
{"name":"小明","age":12}
1.3 JSON的数组类型
JSON 数组是在中括号"[]"中进行书写,在数组中可以包含多个对象,eg:
[{"name":"小明"}]
[
{"name":"小明1","age":13},
{"name":"小明2","age":14}
]
1.4 JSON的布尔类型
JSON布尔值可以是 true 或者 false:
{"flag":true}
1.5 JSON的null类型
JSON可以设置 null 值:
{"test":null}
2.转换
2.1 将String 类型的json数组转为list的形式
2.1.1 首先将String类型的json数组转换为真正的json数组
通过fastjson包下的JSONArray.parseArray进行转换,可以将字符串类型的json数组转换为json数组的形式。
2.1.2 将json数组转换为list的集合对象
通过fastjson包下的JSONArray中的toJavaList方法,将需要转换的类型传入参数,其中.class是利用反射的原理,最后转换为List<对象>的形式,如果没有相应的对象可以先根据数组的字段创建对应的vo。
注:要确保里面的元素是相同的,比如都有name和age元素,否则会转换失败。
import com.alibaba.fastjson.JSONArray;
String str = "[{\"name\":\"小明\",\"age\":12},{\"name\":\"小明\",\"age\":12}]"
JSONArray array = JSONArray.parseArray(str);
List<需要转换的实体类> content = array.toJavaList(需要转换的实体类.class);
@Data
class Person {
String name;
Integer age;
}
结果:
[Person(name=小明, age=12), Person(name=小明, age=12)]
2.2 前端json转换
3.分享个有趣的工具
会将json字符串自动转换成对应的实体类,方便快捷,可以很容易的通过json字符串生成对应的实体类,网址就是===》转换网站
基本是在JSON字符串、数组、对象和Java中的字符串、数组、对象之间相互转换,本文中之大体说了几种情况,详细的待后面空闲时间进行整理归纳,希望后面一切顺顺利利~加油~
- 点赞
- 收藏
- 关注作者
评论(0)