【发布时间】:2018-02-13 19:43:43
【问题描述】:
我是新来的,遇到了问题,惊喜:D
我有一个 JSON 字符串,我想把它转换成一个列表。
我的 JSON 字符串:
{
"results": [
{
"uri": "http://xxxxxx",
"downloadCount": 0,
"lastDownloaded": "2017-04-10T16:12:47.438+02:00",
"remoteDownloadCount": 0,
"remoteLastDownloaded": "1970-01-01T01:00:00.000+01:00"
},
{
"uri": "http://yyyyyyy",
"downloadCount": 0,
"lastDownloaded": "2017-04-10T16:12:47.560+02:00",
"remoteDownloadCount": 0,
"remoteLastDownloaded": "1970-01-01T01:00:00.000+01:00"
},]}
如何在 Java 中转换它?
编辑: 我的问题是“结果”根元素...... this 工作正常。
【问题讨论】:
-
不能转成列表。 JSON 是一个带有
results字段的对象,它保存了一个结果对象列表。 -
在 Java 中处理 JSON 数据的最简单方法是使用现有的优秀 Java 库之一,如 Jackson 来操作 JSON 数据。
-
当您遇到问题时,请先 google,然后再在 SO 上发布问题。正如@jtahlborn 所说,有像 Jackson、GSON 这样的优秀图书馆。
-
stackoverflow.com/questions/30594660/… 这对我有用:
ObjectReader objectReader = objectMapper.reader(new TypeReference<List<artifact>>(){}).withRootName("results"); List<artifact> artifactList = objectReader.readValue(jsonString);