关于用Gson解析带有头的Json数组数据的有关问题
关于用Gson解析带有头的Json数组数据的问题
先贴代码再解释问题,Json数据如下:
实体类的代码如下:
解析方法的代码如下:
代码贴完了,对于这种直接一个数组的Json数据是能正常解析的,但是如果在数组前添加了头就解析不了了,比如这样:
想请问实体类和解析方法的代码怎么改??最好能给个小demo,因为代码量确实不多,小弟初学,希望各位能不吝赐教!
------解决方案--------------------
新建一个类
public class MyResource
{
public List<Resource> Music;
}
解析:
gson.fromJson(jsonData, MyResource.class)
先贴代码再解释问题,Json数据如下:
[
{"musicName":"nuoya.mp3"},
{"musicName":"john.mp3"}
]
实体类的代码如下:
package com.example.jsonparsetest;
import java.util.ArrayList;
import java.util.List;
public class Resource{
private String musicName;
public String getMusicName() {
return musicName;
}
public void setMusicName(String musicName) {
this.musicName = musicName;
}
}
解析方法的代码如下:
package com.example.jsonparsetest;
import java.lang.reflect.Type;
import java.util.Iterator;
import java.util.LinkedList;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class JsonUtils {
public void parseMusicFromJson(String jsonData){
Type listType = new TypeToken<LinkedList<Resource>>(){}.getType();
Gson gson = new Gson();
LinkedList<Resource> resources = gson.fromJson(jsonData, listType);
for (Iterator iterator = resources.iterator(); iterator.hasNext();) {
Resource resource = (Resource) iterator.next();
System.out.println("musicName-->"+resource.getMusicName());
}
}
}
代码贴完了,对于这种直接一个数组的Json数据是能正常解析的,但是如果在数组前添加了头就解析不了了,比如这样:
{"Music":[
{"musicName":"nuoya.mp3"},
{"musicName":"john.mp3"}
]}
想请问实体类和解析方法的代码怎么改??最好能给个小demo,因为代码量确实不多,小弟初学,希望各位能不吝赐教!
------解决方案--------------------
新建一个类
public class MyResource
{
public List<Resource> Music;
}
解析:
gson.fromJson(jsonData, MyResource.class)