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

吾非名家 2014-08-02 03:50:19
先贴代码再解释问题,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,因为代码量确实不多,小弟初学,希望各位能不吝赐教!
...全文
4859 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
天色还不晚 2016-08-30
  • 打赏
  • 举报
回复
引用 10 楼 cuiyu616ok 的回复:
搞定 ,呵呵
楼主怎么解决,分享一下
cuiyu616ok 2016-07-15
  • 打赏
  • 举报
回复
我也遇到了,返回NULL
cuiyu616ok 2016-07-15
  • 打赏
  • 举报
回复
搞定 ,呵呵
tiandadeshuaige 2015-12-18
  • 打赏
  • 举报
回复
找到解决办法了吗?我也遇到了
Powerful_cat 2015-09-17
  • 打赏
  • 举报
回复
引用 2 楼 u010445247 的回复:
至少给个人回复一下好让我结贴啊。。
哈哈
jenics 2015-03-21
  • 打赏
  • 举报
回复
http://blog.csdn.net/tkwxty/article/details/34474501 这个可以解决你的问题。~
吾非名家 2014-08-04
  • 打赏
  • 举报
回复
引用 3 楼 hjywyj 的回复:
新建一个类 public class MyResource { public List<Resource> Music; } 解析: gson.fromJson(jsonData, MyResource.class)
哎。。虽然问题实际还没解决,不过还是结贴给分吧,拖了很久了
  • 打赏
  • 举报
回复
新建一个类 public class MyResource { public List<Resource> Music; } 解析: gson.fromJson(jsonData, MyResource.class)
吾非名家 2014-08-03
  • 打赏
  • 举报
回复
至少给个人回复一下好让我结贴啊。。
吾非名家 2014-08-03
  • 打赏
  • 举报
回复
引用 3 楼 hjywyj 的回复:
新建一个类 public class MyResource { public List<Resource> Music; } 解析: gson.fromJson(jsonData, MyResource.class)
public void parseMusicFromJson(String jsonData){
		Gson gson = new Gson();
		Resource resource = gson.fromJson(jsonData, Resource.class);
		System.out.println(resource.getMusic());
	}
这样输出的结果是null
吾非名家 2014-08-02
  • 打赏
  • 举报
回复
我也看到用JSONObject解决问题的,但是还是想知道用Gson到底应该怎样做,求各位知道的告诉我了!

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧