如何使用GSON解析这个json?
[
[
456239452,180279471,"fsdgdfgdfg","T",
"M",244,0,0,"",0,82,"","[]","fgfdgdfg",10
],
[
456239451,180279471,"9wnntiu5vu9mBeDiBej4swfcztjOS4nJe",
"R","s",253,0,0,"",0,82,"","[]","cf46","g",14
]
]
我的代码:
data class Data(val list: List<List<String>>)
Gson().fromJson(json, Data::class.java).let {
it.list.forEach {
it.forEach {
println(it)
}
}
}
我的stacktrace
com.google.gson.JsonSyn出租车异常:java.lang.IllegalStateExctive:预期BEGIN_OBJECT但BEGIN_ARRAY在第1行第2列路径$com.google.gson.internal.bind.ReflecteTypeAdapterFactory$Adapter.read(ReflecteTypeAdapterFactory.java:224)com.google.gson.Gson.fromJson(Gson.java:888)com.google.gson.Gson.fromJson(Gson.java:853)com.google.gson.Gson.fromJson(Gson.java:802)com.google.gson.Gson.fromJson(Gson.java:774)在dchistov.vkmusic.music.MusicFrach$initAudio$1.doResume(MusicFragment.kt:58)在kotlin. coroutins.实验. html" target="_blank">jvm.内部。在kotlinx. coroutins.实验中的CoroutineInpl.简历(CoroutineInpl. kt: 54)。在kotlinx. coroutins.实验中调度任务$DefaultInps. run(Dispatched. kt: 161)。在java. utils. con电流中调度继续运行(Dispatch. kt: 25)。在java. utils. con电流中的ForkJoinask$RunnableExecteAction. exec(ForkJoinTask. java: 1412)。在java. utili. con电流中的ForkJoinTask. doExec(ForkJoinTask. java: 285)。在java.
看起来你唯一能做的事情就是把它解析为List
要实现这一点,你应该做以下事情
import java.lang.reflect.Type
import com.google.gson.reflect.TypeToken
Type listType = object: TypeToken<List<List<Any>>>(){}.type
List<List<Any>> list = Gson().fromJson(jsonArray, listType)
和 是我用来获取JSON并对其进行解析的类。但是当我运行第一个时,它会报告以下堆栈跟踪: 它告诉我添加JsonReader。将lenient(true)设置为我的代码,但我的代码不使用JsonReader。那么如何将setLenient(true)添加到代码中? 编辑:添加API响应(格式化):
我很难将具有可变内容的JSON对象解析为Java对象。 我的JSON如下所示: 通过一个典型的Json到Java对象转换器运行这段代码是不起作用的,因为它不能映射到一个简单的POJO。 我尝试转换为,但不出所料,出现了一个异常: Edit:正如注释中所指出的,提供的JSON数据不是以有效的键值对形式提供的。我已经联系了API提供商,他们会解决这个问题的。 在我找到一个处理这个问题的方法之前,我将保
问题内容: 我在解析从javascript获取的JSON时遇到问题。JSON的格式是这样的: 到目前为止,我已经能够做到这一点: 但是我现在还需要用这些位置创建一个类。我一直在上课,因为我先尝试打印输出,但是我无法进一步细分它。我收到此错误消息: java.lang.IllegalStateException:这不是JSON数组。 我的代码是这样的: 我也尝试过这种方式: 在这种情况下,我得到:
我正在使用凌空OkHttp从服务器获取一些数据。 响应是一个包含JSON的字符串,我想使用GSON/POJO解析它。 我得到错误: 预期BEGIN_OBJECT,但在第1行第1列路径$上是STRING 尝试解析时。 原因:java.lang.IllegalStateException:预期BEGIN_OBJECT但在第1行第1列路径$ com.google.gson.stream.JsonRead
val homeFeed=gson.fromjson(正文,列表::class.java) 我的代码: