[英]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.