JSON解析字符串?

时间:2017-12-11 18:20:18

标签: android json parsing

我有一个包含两个对象的JSON文件。此文件位于服务器端。

  

[{“param1”:“market”},{“param2”:“you”}]

我想解析这些对象并设置为我的String param1,param2

private String param1 = null;
private String param2 = null;

我无法理解如何编码。请给我示例代码。

3 个答案:

答案 0 :(得分:0)

[ {"param1":"market"}, {"param2":"you"} ]

方括号显示您的响应以JSON数组开头。因此,您应该拥有JSON数组的密钥名称,以便可以从JSON数组中找到JSON对象的值。

答案 1 :(得分:0)

所以你需要调用服务器获取jsonString,你可以通过传递url并获取json str来进行服务调用

public String makeServiceCall(String reqUrl) {
        String response = null;
        try {
            URL url = new URL(reqUrl);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            InputStream in = new BufferedInputStream(conn.getInputStream());
            response = convertStreamToString(in);
        } catch (MalformedURLException e) {
            Log.e(TAG, "MalformedURLException: " + e.getMessage());
        } catch (ProtocolException e) {
            Log.e(TAG, "ProtocolException: " + e.getMessage());
        } catch (IOException e) {
            Log.e(TAG, "IOException: " + e.getMessage());
        } catch (Exception e) {
            Log.e(TAG, "Exception: " + e.getMessage());
        }
        return response;
    }

然后你使用你从这样的调用中获得的jsonStr。

String jsonStr = makeServiceCall(String reqUrl);
JSONArray jsonArr= new JSONArray(jsonStr);
JSONObject jsonObjectOne = jsonArr.getJSONObject(0);
String param1 = jsonObjectOne.getString("param1");
JSONObject jsonObjectTwo = jsonArr.getJSONObject(1);
String param2 = jsonObjectTwo.getString("param2");

答案 2 :(得分:0)

String string = "[ {"param1":"market"}, {"param2":"you"} ]"

JSONArray arr = new JSONArray(string);

JSONObject firstPart = arr.getJSONObject(0);

JSONObject secondPart = arr.getJSONObject(1);

firstPart.getString("param1");
secondPart.getString("param2");