[英]Reading PHP encoded array with Android
我用PHP创建了一个数组。 我需要有关如何使用Android应用程序阅读的帮助。
编码数组如下所示:
["id","string 1","string 2","string 3","string 3","string 4"]
我必须能够使用Android应用程序阅读所有元素。
它是使用PHP创建的,其代码如下所示:
$res = array();
$res[] = $data['id'];
$res[] = $data['string 1'];
$res[] = $data['string 2'];
$res[] = $data['string 3'];
$res[] = $data['string 4'];
return json_encode($res);
您能帮我解决这个问题吗?
对于您的示例,您可以使用以下代码来解析Android中的响应。 我已经用代码对您在代码中得到的响应进行了硬编码,这样您就可以了。 另外,我已经在活动的onCreate中编写了它,您可以在适合您的应用的任何地方编写它。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String strJson="[\"id\",\"string 1\",\"string 2\",\"string 3\",\"string 3\",\"string 4\"]"; // This is your response, with escaped " and used as a String
try {
//Get the instance of JSONArray that contains Strings
JSONArray jsonArray = new JSONArray(strJson);
for(int i=0; i < jsonArray.length(); i++){
String data = (String)jsonArray.get(i);
Log.d("MyData",data);
}
} catch (JSONException e) {e.printStackTrace(); // Not a good idea. But left it for now}
}
如果使用过滤器MyData监视logcat,则会发现输出为:
D/DATAIS: id
D/DATAIS: string 1
D/DATAIS: string 2
D/DATAIS: string 3
D/DATAIS: string 3
D/DATAIS: string 4
网络上有很多教程,涉及如何在Android中解析JSON。 您可以研究它们以获得更好的主意。
当我向PHP数组的元素添加名称时,我解决了这个问题:
$res = array();
$res[0] = $data['id'];
$res[1] = $data['string 1'];
$res[2] = $data['string 2'];
$res[3] = $data['string 3'];
$res[4] = $data['string 4'];
在Android方面:
JSONObject mainObject = new JSONObject(ret);
String str1 = mainObject.optString("1").toString();
String str2 = mainObject.optString("2").toString();
String str3 = mainObject.optString("3").toString();
String str4 = mainObject.optString("4").toString();
谢谢大家的帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.