从多个Json对象解析数据

时间:2014-08-21 11:49:01

标签: php android json

{"num":"111111111111","result":"yes"}
{"num":"9724321456","result":"yes"}
{"num":"5555555555","result":"no"}
{"num":"1111111112","result":"yes"}
{"num":"7878889978","result":"yes"}

我从服务器获取这种格式的数据,因为没有" ["括号。 我真的很难找到这个值。 我尝试了几种方法,如获取

job.keys();

job.names();

但没有人看到工作。

我也可以请求服务器更改PHP代码,但如果可以通过Android进行更改。

PHP代码:

  if($bool){
$array['num']=$checknum2;
$array['result']="yes";

}else{
$array['num']=$checknum2;
$array['result']="no";



print(json_encode($array));

这是一个循环

2 个答案:

答案 0 :(得分:0)

这是一个示例代码,其中result是来自服务器的响应字符串。

        JSONObject json = null;
        result = String.format("[" + result + "]"); 

        JSONArray jArray;
        try {

            jArray = new JSONArray(result);
            json = jArray.getJSONObject(0);

            String num = json.getString("num");
            String result = json.getString("result");


        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

PHP服务代码必须是这样的:

 $resultArray = array();

 // LOOP body start

 if($bool){
 $array['num']=$checknum2;
 $array['result']="yes";

 }else{
 $array['num']=$checknum2;
 $array['result']="no";
 }

 $resultArray[$count] = $array;
 $count++;

 // LOOP body end

 json_encode($resultArray);

答案 1 :(得分:0)

我终于通过PHP解决了它

我用过

在循环中继续将小数组推到大

array_push($arraybig,$array);

最后

print(json_encode($arraybig));

我希望它有所帮助。