Json数据解析

本文详细介绍了JSON(JavaScript Object Notation)的概念、与XML的对比、JSON格式结构以及如何进行JSON数据的解析操作。重点阐述了JSON在数据传输与交互中的优势,并通过代码实例展示了使用工具类进行JSON数据解析的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();
            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值