JSON的几种形式、字符串在java中的写法

问题:

1)前台获取到的json是什么形式?json字符串形式,还是json对象形式?

答:json字符串。

2)数据传输过程中的json是什么形式?

答:json字符串。

3)区分:json字符串、json对象、类对象。

数据传递的时候是json字符串。接收后,需要将json字符串转成json对象,再将json对象转成类对象。

4)数据传递过程中,也可能是json字符串数组。

获取到json字符串数组后,需要将其转换为对象数组,然后遍历这个对象数组,获取其中的值。并可以在每一步遍历中进行一些操作。参考如下,

         //json字符串数组
         String str="[{\"id\":\"828\",\"title\":\"容易,.......\",\"doc_content\":\"文章内容\",\"write_time\":\"2018-01-08\",\"author\":\"作者\"}," + "{\"id\":\"829\",\"title\":\"哈哈哈哈哈哈哈哈哈啊哈标题\",\"doc_content\":\"文章内容\",\"write_time\":\"2018-01-08\",\"author\":\"作者\"}]";
         //转化为数组
         Jtt[] ss=(Jtt[])JSONArray.toArray(JSONArray.fromObject(str),Jtt.class);
         //遍历数组,并在每次遍历中给jtt实体赋值(jtt是我自己定义的实体)
         for(int i=0;i<ss.length;i++){
             Jtt jtt = new Jtt();
             jtt.setId(ss[i].getId());
             jtt.setTitle(ss[i].getTitle());
             jtt.setAuthor(ss[i].getAuthor());
             System.out.println(jtt);
             jtt=null;//将不用的引用指向null,等着被回收
         }

*注意:

1)字符串数组在java中的写法;

2)前台获取到的json字符串,到了后端直接转化为对象(本例中是:json字符串数组,及将json字符串数组转换成对象数组);

3)new后,需要将不用的引用设为null。防止内存溢出;

4)直接在for循环中new对象、在for循环中指为null;

5)json字符串数组转化为对象数组时,JSONArray需要导包import net.sf.json.JSONArray; 相应依赖如下,

<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>

 

posted @ 2018-10-23 13:56  断点S  阅读(9719)  评论(0编辑  收藏  举报