一尘不染

如何在Android中解析Json响应?

json

我收到此响应的结果是对服务器的GET请求

{"LL": { "control": "dev/sys/getkey", "value": "4545453030304138303046392035343733373432363020323031332D30322D31312031383A30313A3135", "Code": "200"}}

我只想"value"从上述json响应中提取的值。

我正在使用此代码来获得此响应

findViewById(R.id.button1).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            HttpResponse response = null;
            try {
                HttpClient client = new DefaultHttpClient();
                HttpGet request = new HttpGet();
                request.setURI(new URI(
                        "http://192.168.14.247/jdev/sys/getkey"));
                response = client.execute(request);
            } catch (URISyntaxException e) {
                e.printStackTrace();
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            String responseText = null;
            try {
                responseText = EntityUtils.toString(response.getEntity());
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                Log.i("Parse Exception", e + "");

            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                Log.i("IO Exception 2", e + "");

            }

            Log.i("responseText", responseText);

            Toast.makeText(MainActivity.this, responseText + "",
                    Toast.LENGTH_SHORT).show();

        }

    });

我的问题是,我该如何解析并获取only "value"标签的值。谢谢


阅读 215

收藏
2020-07-27

共1个答案

一尘不染

您可以解析当前的json字符串以从中获取value它:

// Convert String to json object
JSONObject json = new JSONObject(responseText);

// get LL json object
JSONObject json_LL = json.getJSONObject("LL");

// get value from LL Json Object
String str_value=json_LL.getString("value"); //<< get value here
2020-07-27