JSON解析初步

来源:互联网 发布:c语言贪吃蛇代码 编辑:程序博客网 时间:2024/05/12 01:39

1.JSON=JavaScript Object Notation

2.JSON数据是一系列键值对的集合 key-value,key一定是String,value可以是任何类型

3.一个JSON的例子 每个JSON对象在一个大括号中,大括号中放的是键值对,一个键值对的值又可以是JSON对象

  {

   “name":"Michael"

   "address":

    {

     "city":"Beijing"

     "street":"Chaoyang Road"

     "postcode":"100025"

     }

  }

4.中括号代表JSON对象数组,一个中括号之内可以放入很多JSON对象

e.g.[{"name":"zhangsan","age":30}{"name":"lisi","age":20},]

5.Gson是Google推出的Java类库(api),用于JSON数据解析

6.Json键值一定要带双引号,所以每个双引号前都要加反斜杠\(转义字符)

7.如果需要解析JSON数据,首先需要生成一个JsonReaderD对象

8.JsonRreader需要new一个StringReader对象做参数,向SR传入json对象

9.以4中JSON数据为例(1)开始解析数组reader.beginArray();(2)开始解析对象reader.beginObject();(3)解析键值对(4)解析键值对(5)解析对象结束(6)开始解析对象(7)解析键值对(8)解析键值对(9)解析对象结束(10)解析数组结束endArray

10.JsonReader reader;

11.while(reader.hasNext();)判断有没有下一个Json对象

12.GSON可以把JSON对象(不是数组!)直接转成JAVA对象

Gson gson= new Gson();User user=gson.fromJson(jsonData,User.class)第一个参数是JSON数据,第二个对象是你想把JSON对象转换成哪个类的对象,该类的class

13.由Json数组而来:

Tpye listType=new TypeToken<LinkedList<User>>{}.getType();//先获取一个Tpye对象

Gson gson = new Gson();

LinkedList<User> users=gson.fromJson(jsonData,listType);

for(Iterator iterator)=users.iterator();iterator.hasNext();){//迭代

User user=(User)iterator.next();

//操作

}

0 0
原创粉丝点击