android– 用gson解析json文件

android– 用gson解析json文件,第1张

概述我有一个问题,为我想要使用json解析的json创建映射.它非常具体,它关于一个带有json数组的json文件,其中有对象.我的jsonfile像这样开始: [ { 'venue': { 'venue_seasons': [ { 'cre

我有一个问题,为我想要使用Json解析的Json创建映射.它非常具体,它关于一个带有Json数组的Json文件,其中有对象.

我的Jsonfile像这样开始:

  [    {        "venue": {            "venue_seasons": [                {                    "created_at": "2011-12-25T23:00:28Z","updated_at": "2011-12-28T15:13:53Z","start_timestamp": 1293840000,"ID": 337,"end": "2011-12-24T00:00:00Z","enabled": true,"start": "2011-01-01T00:00:00Z","season_openings": [ … ],"end_timestamp": 1324684800                },{ … }            ],"address": "someadress","city": "cityname","name": "name","created_at": "2011-03-31T07:55:33Z",etcetera    }    "venue":{another venue

所以首先是一个数组,而不是一个包含大量对象的对象(场所)(我删除了大部分对象,因为这对我的问题并不重要),以及一些数组(如season_openings).

我的解析代码就是这样的,我使用gson.输入流工作正常.

Reader reader = new inputStreamReader(inputStream);JsonResponse venueResponse = gson.fromJson(reader,JsonResponse.class);               List

与JsonResponse类:

public class JsonResponse {    public List

和Venues.class:

public class Venues {    public List

但是,当我运行此代码时,我收到一个错误:

Unable to start activity ComponentInfo{com.hera.androID.JsON/com.hera.androID.JsON.TestParser2Activity}: com.Google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2

当然,我可以读取错误:它需要一个对象,但得到一个数组.我使用不同的Jsonresponse.class变化很多,甚至将整个Json数组放在一个Json对象中(这不是一个真正的解决方案,因为我需要使用这种类型的Jsonfile).但每次我得到这个或类似的错误.

我认为我接近解决方案,任何人都能看到我不能解决的问题,并帮助我吗?
谢谢.最佳答案尝试像这样调用Gson:

List

这是有效的,因为您的JsON文档是List,而不是具有列表作为其属性之一的对象. 总结

以上是内存溢出为你收集整理的android – 用gson解析json文件全部内容,希望文章能够帮你解决android – 用gson解析json文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1140026.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)