我有一个包含两个对象的JSON文件。此文件位于服务器端。
[{“param1”:“market”},{“param2”:“you”}]
我想解析这些对象并设置为我的String param1,param2
private String param1 = null;
private String param2 = null;
我无法理解如何编码。请给我示例代码。
答案 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");