将这个 json 数组解析为列表的最快方法是什么?
[
["FundRequest"],
["nOS"],
["NEX"],
["DREP"],
["ChromaWay"],
["Jura"],
["Origo"],
["Phantasma"],
["NuCypher"],
["Oasis Labs"]
]
它是由以下代码生成的:
private void getNames(String spreadsheetUrl) {
JSONObject json = readJsonFromUrl(spreadsheetUrl);
String result = json.get("values").toString();
log.debug("Found: {}", result);
}
输出来自以下 json 响应:
{
"range": "Frontpage!E6:E15",
"majorDimension": "ROWS",
"values": [
[
"FundRequest"
],
[
"nOS"
],
[
"NEX"
],
[
"DREP"
],
[
"ChromaWay"
],
[
"Jura"
],
[
"Origo"
],
[
"Phantasma"
],
[
"NuCypher"
],
[
"Oasis Labs"
]
]
}
最佳答案
您可以使用像 GSON 这样的库:
使用maven安装:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>
编辑:
如果你想解析这个:
{
"range": "Frontpage!E6:E15",
"majorDimension": "ROWS",
"values": [
[
"FundRequest"
],
[
"nOS"
],...
作为 java 对象,然后为您的 json 实体创建一个包装类:
public class Wrapper {
private String range;
private String majorDimension;
private List<?> values;
/**
* @return the range
*/
public String getRange() {
return range;
}
/**
* @return the values
*/
public List<?> getValues() {
return values;
}
/**
* @param values the values to set
*/
public void setValues(List<?> values) {
this.values = values;
}
/**
* @return the majorDimension
*/
public String getMajorDimension() {
return majorDimension;
}
/**
* @param majorDimension the majorDimension to set
*/
public void setMajorDimension(String majorDimension) {
this.majorDimension = majorDimension;
}
/**
* @param range the range to set
*/
public void setRange(String range) {
this.range = range;
}
}
然后使用 GSON,您可以将 Json 字符串解析为包装对象:
Gson gson = new GsonBuilder().create();
Wrapper w = gson.fromJson(jsonString, Wrapper.class);
检查这个:http://www.javacreed.com/simple-gson-example/
编辑:
如果你想解析这个:
[
["FundRequest"],
["nOS"],
["NEX"],
["DREP"],
["ChromaWay"],
["Jura"],
["Origo"],
["Phantasma"],
["NuCypher"],
["Oasis Labs"]
]
作为数组的数组,然后使用 gson 你可以这样做:
List<?> arr = gson.fromJson("[[\"FundRequest\"],[\"nOS\"],...]", List.class);
System.out.println(arr);
println 应打印: [[资金请求]、[nOS]、...]
数组的 json 数组应被解析为列表的列表
希望这有帮助
关于java - 将 JSON 数组解析为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51895342/