在Android上从PHP提取JSON
我试了又试,但似乎无法找到它的底部。下面是PHP代码在Android上从PHP提取JSON,php,android,arrays,json,Php,Android,Arrays,Json,我试了又试,但似乎无法找到它的底部。下面是PHP代码 $query = "SELECT `title` FROM `c2torsdb`.`pE_vacancies` WHERE active=1 LIMIT 2"; $result = mysql_query($query,$link) or die('Errant query: '.$query); /* create one master array of the records */ $posts = array(); if(mysql_
$query = "SELECT `title` FROM `c2torsdb`.`pE_vacancies` WHERE active=1 LIMIT 2";
$result = mysql_query($query,$link) or die('Errant query: '.$query);
/* create one master array of the records */
$posts = array();
if(mysql_num_rows($result)) {
while($post = mysql_fetch_assoc($result)) {
$posts[] = array('post'=>$post);
}
}
/* output in necessary format */
if($format == 'json') {
header('Content-type: application/json, charset=utf-8');
echo json_encode($posts);
}
这是我的代码片段
HttpResponse response = httpclient.execute(httppost);
String jsonResult = inputStreamToString(response.getEntity().getContent()).toString();
JSONObject object = new JSONObject(jsonResult);
//JSONArray innerobj = object.getJSONArray("post");
String name = object.getString("title");
//String name = name1.getString(0);
Log.v("isurgeon", name);
//String name = object.getString("posts");
//String verion = object.getString("version");
textView.setText(name + " - ");
以下是PHP脚本的JSON输出:
[{"post":{"title":"Property Litigation Assistant Solicitor"}},{"post":{"title":"Trusts and Probate Practitioner"}}]
我只想要“标题”。老实说,我不熟悉android,但我知道JSON。如果我将您的JSON输出放入javascript,如下所示:
var abc = [{"post":{"title":"Property Litigation Assistant Solicitor"}},{"post":{"title":"Trusts and Probate Practitioner"}}]
通过这样做,我将获得第一个头衔:
abc[0].title
您需要选择返回的json对象的第n个元素,然后获取标题。比尔说得对-json在那里的输出方式,所有内容都包含在一个数组中 androidimo对JSON对象/数组有很好的本机处理,因此如果您只需要
JSONArray jsonArray = new JSONArray(jsonResult);
JSONObject object = jsonArray[0];
一切正常有什么问题?它会崩溃吗(请记录猫),还是什么?猜测一下:您的JSON响应是一个数组,因此
新的JSONObject(jsonResult)
无法工作。改用newjsonarray(jsonResult)
。