Json数据解析

来源:互联网 发布:济南直销软件 编辑:程序博客网 时间:2024/06/15 22:08

1 概念
JavaScript Object Notation
键值对的集合
服务器与客户端数据传输较方便的格式
2 JSON VS XML
数据可读性相同
JSON数据体积小
JSON与JAVASCRIPT的交互更方便
JSON对数据描述性相对较差
3 JSON格式

 {     "name":"Jack",address{         "city":"beijing",         "street","chaoyanglu"     } }

{}代表JSON对象 一个JSON对象
【】代表JSON对象数组,放很多个JSON对象
4 JSON解析

jsonUtils.parseUserFromJson(jsonData);

工具类1 原始解析

public class JsonUtils {    public void parseJson(String jsonData) {        try {            //开始解析数组            //开始解析对象            //开始解析键值对            //解析JSON数据解析JsonReader对象            JsonReader reader = new JsonReader(new StringReader(jsonData));            reader.beginArray();            while (reader.hasNext()) {                reader.beginObject();                while (reader.hasNext()) {                    String tagName = reader.nextName();                    if (tagName.equals("?")) {                        //do something                       } else if (tagName.equals("?")) {                        //do something                    }                }                reader.endObject();            }            reader.endArray();        } catch (Exception e) {            // TODO: handle exception        }    }}

工具类2
解析一个Json对象

 public void parseUserFromJson(String jsonData) {            Gson gson = new Gson();            User user =gson.fromJson(jsonData, User.class);        }

解析一个Json数组

        public void parseUserFromJson(String jsonData) {            Type listType = new TypeToken<LinkedList<User>>()().getType();            Gson gson = new Gson();            LinkedList<UserDataHandler> =gson.fromJson(jsonData, listType);            for (Iterator iterator=user.iterator();iterator.hasNext();) {                User user =(User)iterator.next();            }        }
0 0
原创粉丝点击