簡體   English   中英

將JSON數組解析為列表

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM