Code Bye

关于用Gson解析带有头的Json数组数据的问题

先贴代码再解释问题,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,原因是代码量确实不多,小弟刚开始学,希望各位能不吝赐教!

解决方案

20

新建一个类
public class  MyResource
{
public List<Resource> Music;
}
解析:
gson.fromJson(jsonData, MyResource.class)

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于用Gson解析带有头的Json数组数据的问题