我有这个小问题,我正在制作一个Android应用程序n使用.php文件来调用java脚本文件,它返回一个JSON输出..现在我的问题是输出是有效的JSON格式,现在我是对于如何解析值感到困惑。 输出是
[ “15.493511”, “73.818659”]
其中第一个值是纬度值,第二个值是经度值。 我想要做的是解析这是在asynctask中获取此值我想分割这些值并将它们分配给变量。任何想法我怎么能做到这一点。 提前谢谢。
答案 0 :(得分:3)
这是一个json数组
<?php
$val = '["15.493511","73.818659"]';
$arrVal = json_decode($val, true);
print_r($arrVal);
$latitude = $arrVal[0];
$longitude = $arrVal[1]
这将输出:
array(15.493511, 73.818659);
答案 1 :(得分:1)
正如您所说i want to do is parse this is on fetching this value in the asynctask
意味着您需要解析Android应用程序中的json
数据。
JSONArray jObject = new JSONArray(result); //result is the json data you received
String lat = jObject.getString(0);
String long = jObject.getString(1);
已更新 spring-breaker
建议的答案答案 2 :(得分:0)
您正在获取JSON数组。 所以你的代码可以是这样的......
String latitude=jsonarray.getString(0);
String longitude=jsonarray.getString(1);
答案 3 :(得分:0)
尝试以下代码: -
JSONArray j = new JSONArray("ur value");
for (int i = 0; i < j.length(); i++)
{
System.out.println(j.get(i));
}
答案 4 :(得分:0)
执行以下操作,
private class MyAsyncTask extends AsyncTask<String, String, String>
{
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
String data="["15.493511","73.818659"]"; // Assuming that it is your static data
try {
JSONArray myArray=new JSONArray(data);
String lattitude=myArray.getString(0);
String longitudetude=myArray.getString(1);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
//update your UI or do your task;
}
}
}
执行AsyncTask
,如下所示,
new MyAsyncTask().execute();