[英]Parse JSON array into list
将这个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将打印:[[FundRequest],[nOS],...]
数组的json数组应解析为列表列表
希望这可以帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.