我们知道JavaEE后台处理数据是根据一定的文本规则来处理的,通常有xml格式和Json格式。而具体使用哪种格式是根据前后端协调决定的。通过工作的情况来看,使用Json会更多一点。下面是相关的知识点:
1 Json是什么?
Json(JavaScript Object Notation)是一种轻量级的数据交换格式。Json有以下特点:
- Json 比 XML 数据传输的有效性要高出很多。
- Json完全独立于编程语言。
- 本质就是具有**特定格式(key-value)**的字符串。(面试官问的时候一定不要说不知道哦,这是最基本的常识)
Json中包含的数据格式
- {}: 键值对, 以key–value的形式存在 ----使用JSON提供的对象 JSONObject来接收。
- []: 数组, 多个元素用逗号隔开 ----使用JSON提供的对象 JSONArray类接收。
本文中介绍的是阿里提供的解析jar包(fastjson.jar)。在解析json文件之前需要在项目中创建一个名为lib的文件夹,这个文件夹用于存储第三方jar包。然后导入jar包到lib中,接着右键jar包bulidpath–>add(省略几个单词,手动滑稽)这样就完成了jar包的导入。解析json的方式有很多,本文使用的是fastjson解析。首先,我们先了解一下,数据是怎么形成json格式的数据的,然后在来解析json。
这里的Hero类就不放出来了,应该都懂吧。如果这里看不懂建议先去关于类的知识。首先是创建了四个对象并通过带参构造赋值,然后分别创建ArrayList来存储对应分路的Hero对象。接着按照分路不同,创建了HashMap集合,分路为key,而ArrayList为value。接下来就是集合转json格式了。
接下来就是解析json了,这里特别介绍一下这个bejson网站,**它上面可以对复杂的json文件进行格式化,格式化要是看不明白,大可转成视图!**这就很给力了。当最外层是【】时,解析如下:
代码的第50到53行这么写会让基础差的初学者更理解整个过程,熟悉后就可以将四行代码直接写入55行的参数中。无非就是个赋值号,直接写入也是一样的。
当外层是{}时,解析过程如下: