簡體   English   中英

如何從此json對象中提取字符串數組?

[英]How do I pull the string array from this json object?

我正在嘗試使用org.json的類從以下json對象獲取可用數字列表

    {
        "response":true,
        "state":1,
        "data":
        {
            "CALLERID":"81101099",
            "numbers":
                [
                       "21344111","21772917",
                       "28511113","29274472",
                       "29843999","29845591",
                       "30870001","30870089",
                       "30870090","30870091"
                ]
        }
    }

在從Web服務接收到json對象后,我的第一步是:

jsonObj = new JSONObject(response);
jsonData = jsonObj.optJSONObject("data");

現在,如何保存數字的字符串數組?

使用:

jsonObj = new JSONObject(response);
jsonData = jsonObj.optJSONObject("data");
JSONArray arrJson = jsonData.getJSONArray("numbers");
String[] arr = new String[arrJson.length()];
for(int i = 0; i < arrJson.length(); i++)
    arr[i] = arrJson.getString(i);

您需要使用JSONArray來提取數組中的數據

JSONObject jObj= new JSONObject(your_json_response);
JSONArray array = jObj.getJSONArray("data");

我的代碼是獲取“數據”:

public void jsonParserArray(String json) {

        String [] resultsNumbers = new String[100];

        try {
            JSONObject jsonObjectGetData = new JSONObject(json);
            JSONObject jsonObjectGetNumbers = jsonObjectGetData.optJSONObject("results");
            JSONArray jsonArray = jsonObjectGetNumbers.getJSONArray("numbers");
            for (int i = 0; i < jsonArray.length(); i++) {
                resultsNumbers[i] = jsonArray.getString(i);
            }
        } catch (JSONException e) {
            e.printStackTrace();
            Log.e(LOG_TAG, e.toString());
        }
    }

假設你試圖在javascript塊中獲取它,嘗試這樣的事情

var arrNumber = jsonData.numbers;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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