• fastJson解析复杂的json字符串,经测试已经成功解析


    要解析的json数据格式为:

    HTTP/1.1 200 OK
    Content-Type: text/jsv
    Content-Length: length
    

    {
    ResponseStatus:
    {

    },
    Data: 
    {
    	TourCopyWriterInfo: 
    	{
    		DefaultCopyWriter: String,
    		SearchValue: String
    	},
    	ThemeList: 
    	[
    		{
    			Key: String,
    			Value: String,
    			PoiId: String,
    			IsJump: False
    		}
    	],
    	DestinationList: 
    	[
    		{
    			DestName: String,
    			CategoryId: 0,
    			SubDestList: 
    			[
    				{
    					Key: String,
    					Value: String,
    					PoiId: String,
    					IsJump: False
    				}
    			]
    		}
    	],
    	TourProductList: 
    	{
    		
    	}
    }
    

    }

    要解析的为Data对象中的ThemeList数组,自己写的ThemeList元素的javabean代码如下:

    /**
    * Created by sqhan on 2016/5/30.
    */
    public class TopTripType {
    String key;
    String value;
    String poiId;
    boolean isJump;

    public String getKey() {
    return key;
    }

    public void setKey(String key) {
    this.key = key;
    }

    public String getValue() {
    return value;
    }

    public void setValue(String value) {
    this.value = value;
    }

    public String getPoiId() {
    return poiId;
    }

    public void setPoiId(String poiId) {
    this.poiId = poiId;
    }

    public boolean isJump() {
    return isJump;
    }

    public void setJump(boolean jump) {
    isJump = jump;
    }
    }

    解析的代码为:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    //用fastjson来解析拉取到的数据,经测试已解析成功
        public List<TopTripType> parseResponseData(String responseStr) {
            List<TopTripType> result;
            try {
                JSONObject object = JSON.parseObject(responseStr);
                JSONObject data = (JSONObject) object.get("Data");
                JSONArray jsonArray = data.getJSONArray("ThemeList");
                result = JSON.parseArray(jsonArray.toJSONString(), TopTripType.class);
     
            } catch (Exception e) {
                result = new ArrayList<>();
                LogUtil.e(TAG, "parseResponseData()中解析json出现异常");
            }
            return result;
     
        }

      OK,有些细节不再详细说明,需要请留言多多交流。



  • 相关阅读:
    java通过dom读写xml文件
    SWT
    Eclipse RCP学习资料
    Integration Guide
    一个Linux命令,黑客帝国
    GET和POST两种基本请求方法的区别
    贫血模式-AnemicDomainModel
    Synchronized锁在Spring事务管理下,为啥还线程不安全?
    redis 集群配置、启动
    redis cluster集群
  • 原文地址:https://www.cnblogs.com/jpfss/p/9685049.html
Copyright © 2020-2023  润新知