在Android上从PHP提取JSON

在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_

我试了又试,但似乎无法找到它的底部。下面是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_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)