Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSON不存在时如何使用GSON';“我没有”;名称属性";?_Java_Android_Json_Gson - Fatal编程技术网

Java JSON不存在时如何使用GSON';“我没有”;名称属性";?

Java JSON不存在时如何使用GSON';“我没有”;名称属性";?,java,android,json,gson,Java,Android,Json,Gson,我有以下JSON(来自URL) 您可以看到这些字段没有“name属性” 我的班级模式如下 public class KaraokeCategoryModel { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } 但是GSON没有再确认我的心房肌“名字” 我应该怎么做才能让GSON顺利使用我

我有以下JSON(来自URL)

您可以看到这些字段没有“name属性”

我的班级模式如下

public class KaraokeCategoryModel {
private String name;

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}
}

但是GSON没有再确认我的心房肌“名字”


我应该怎么做才能让GSON顺利使用我的模型?

您可以通过下面的代码更轻松地做到这一点:

List<KaraokeCategoryModel> karaokeCategoryList = new ArrayList<KaraokeCategoryModel>();

JsonElement json = new JsonParser().parse(yourJsonStringValueHere);
JsonArray jsonArray = json.getAsJsonArray();
Iterator iterator = jsonArray.iterator();
while(iterator.hasNext()){
    JsonElement jsonElementInArray = (JsonElement)iterator.next();

    KaraokeCategoryModel karaokeCategory = new KaraokeCategoryModel();
    karaokeCategory.setName(jsonElementInArray.getAsString());

    karaokeCategoryList.add(karaokeCategory);    
}
List karaokeCategoryList=new ArrayList();
JsonElement json=new JsonParser().parse(yourJsonStringValueHere);
JsonArray JsonArray=json.getAsJsonArray();
迭代器迭代器=jsonArray.Iterator();
while(iterator.hasNext()){
JsonElement jsonElementInArray=(JsonElement)迭代器.next();
KaraokeCategoryModel karaokeCategory=新的KaraokeCategoryModel();
setName(jsonElementInArray.getAsString());
添加(卡拉ok分类);
}

为什么不把它作为一个
列表来读
,然后用每个字符串创建一个
KaraokeCategoryModel
对象呢?(你需要为你的类创建一个构造函数。)@ChthonicProject使用该选项创建适配器是否很复杂?我看不出创建适配器将如何根据你创建
KaraokeCategoryModel
的方式而改变。卓越的帮助,但JsonElement json=new JsonParser().parse(URL)中的应用程序崩溃;我可以把URL放在那里吗?我不这么认为。请参阅如何从uri获取json值(字符串)
Type karaokeCollection = new TypeToken<Collection<KaraokeCategoryModel>>() {}.getType();
        _karaoke_cartegory_response = new Gson().fromJson(reader, karaokeCollection);
_karaoke_category_adapter = new KaraokeCategoryAdapter(getSupportActionBar().getThemedContext(), R.layout.spinner_item, _karaoke_cartegory_response);
        getSupportActionBar().setListNavigationCallbacks(_karaoke_category_adapter, this);
List<KaraokeCategoryModel> karaokeCategoryList = new ArrayList<KaraokeCategoryModel>();

JsonElement json = new JsonParser().parse(yourJsonStringValueHere);
JsonArray jsonArray = json.getAsJsonArray();
Iterator iterator = jsonArray.iterator();
while(iterator.hasNext()){
    JsonElement jsonElementInArray = (JsonElement)iterator.next();

    KaraokeCategoryModel karaokeCategory = new KaraokeCategoryModel();
    karaokeCategory.setName(jsonElementInArray.getAsString());

    karaokeCategoryList.add(karaokeCategory);    
}