json数据获取android

时间:2018-12-09 09:08:25

标签: android json

如何使用json获取此数据。我已经尝试过了,但是没有用。我对如何获取以下数据非常困惑。任何帮助表示赞赏

    {
    "sftid": [
        "sfta"
    ],
    "todate": 205618.268,
    "today": 5307.174,
    "sfta": 5093.717,
    "sftb": 213.457,
    "sftc": 0,
    "cropday": 21,
    "crushingday": 21,
    "vtractor": 4535.075,
    "vtruck": 532.687,
    "vbcart": 239.412,
    "yestitons": 6374,
    "ytractor": 248,
    "ytruck": 90,
    "ybcart": 40,
    "ycart": 48,
    "hr1": 515.043,
    "hr2": 625.651,
    "hr3": 706.789,
    "hr4": 626.796,
    "hr5": 630.639,
    "hr6": 608.053,
    "hr7": 604.559,
    "hr8": 776.187
}


 JSONObject jobject = new JSONObject(response);
JSONObject jsonObj = jobject.getJSONObject("todate");

3 个答案:

答案 0 :(得分:2)

您可以这样做

 JSONObject jobject = new JSONObject(response);

然后

double todate = jobject.getDouble("todate");
and so on as per the data type 

或者简单地,您可以使用http://www.jsonschema2pojo.org/,这将帮助您将json数据转换为模型类,您可以使用该模型类轻松获取数据。
为此,您需要使用Gson库。
因此,假设您使用上面的链接创建的类为"Myresponse",则可以将其用作

Gson gson = new Gson();
Myresponse data = gson.fromJson("<your json resopnse>",Myresponse.class);

我已经添加了需要在jsonschema2pojo网站上进行的设置的屏幕截图 enter image description here

答案 1 :(得分:0)

您可以尝试:

JSONObject jobject = new JSONObject(response.toString());
JSONObject jsonObj = jobject.getJSONObject("todate");

答案 2 :(得分:0)

如您所见,响应包含一个JSONObject,其中包含许多元素,第一个元素是JSONArray,其余元素可以当作double / String。 它如下:

JSONObject json = new JSONObject(response);
JSONArray sftid_array = json.getJSONArray("sftid");

ArrayList<String> sftid = new ArrayList();
for(int i = 0; i < sftid_array; i++) {
   sfid.put(sftid_array.getString(i));
}
double todate = json.getDouble("todate");
double today = json.getDouble("today");
double sfta = json.getDouble("sfta");
double sftb = json.getDouble("sftb");
.
.
.
and so on

您还可以使用Array来存储JSONArray的数据。不要忘记将其放在try catch中,因为它可能会抛出JSONException。