使用Gson将JSON数组解析为java.util.List
我有一个JsonObject
名为"mapping"
包含以下内容:
{ "client": "127.0.0.1",
"servers": [
"8.8.8.8",
"8.8.4.4",
"156.154.70.1",
"156.154.71.1"
]
}
我知道我可以用以下方法获得阵列"servers"
:
mapping.get("servers").getAsJsonArray()
现在我想将其解析JsonArray
为java.util.List
…
最简单的方法是什么?
回答:
绝对最简单的方法是使用Gson的默认解析功能fromJson()
。
此功能的实现适用于需要反序列化为任何ParameterizedType
(例如any List)的情况fromJson(JsonElement json, Type typeOfT)
。
在你的情况下,你只需要获取的Type,List<String>
然后将JSON数组解析为that Type,如下所示:
import java.lang.reflect.Type;import com.google.gson.reflect.TypeToken;
JsonElement yourJson = mapping.get("servers");
Type listType = new TypeToken<List<String>>() {}.getType();
List<String> yourList = new Gson().fromJson(yourJson, listType);
在你的情况下yourJson
是a JsonElement
,但也可能是a String,any Reader
或a JsonReader
。
以上是 使用Gson将JSON数组解析为java.util.List 的全部内容, 来源链接: utcz.com/qa/423300.html