Android JSON解析字符串?
我有一个包含两个对象的JSON文件。此文件位于服务器端 [{“param1”:“market”},{“param2”:“you”}] 我想解析这些对象并设置为字符串param1,param2Android JSON解析字符串?,android,json,parsing,Android,Json,Parsing,我有一个包含两个对象的JSON文件。此文件位于服务器端 [{“param1”:“market”},{“param2”:“you”}] 我想解析这些对象并设置为字符串param1,param2 private String param1 = null; private String param2 = null; 我不懂如何编码。请给我这个的示例代码 [ {"param1":"market"}, {"param2":"you"} ] 方括号显示您的响应以JSON数组开始。因此,您应该具有JSON
private String param1 = null;
private String param2 = null;
我不懂如何编码。请给我这个的示例代码
[ {"param1":"market"}, {"param2":"you"} ]
方括号显示您的响应以JSON数组开始。因此,您应该具有JSON数组的键名,这样您就可以从JSON数组中找到JSON对象的值。因此您需要调用服务器来获取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");
你能给我一个示例代码吗?我是android开发的新手,希望这能对你有所帮助。@Dalton我不知道如何解析。您编写的链接,谁问这个问题说“我已经得到JSON字符串的代码”jsonStr在服务器端。我把它保存在txt文件中。你能修改你的代码吗?编辑了答案希望能有所帮助。我的对象在服务器端。我把它保存在txt文件中。你能修改你的代码吗?这段代码似乎是一个字符串或者已经是一个JSONArray,如果它是第一个,就按照我写的代码来做。如果是第二种情况,只需删除前两行即可。
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");