为什么我要加倍'[['?应该是一个括号吗?'['
[[{{“名称”:“ 50灰色阴影”,“路径”:“ http://api.androidhive.info/json/movies/1.jpg”,“描述”:“长篇小说”,“喜欢” :“ 5”,“评论”:“非常好”},{“名称”:“变形金刚”,“路径”:“ http://api.androidhive.info/json/movies/2jpg”,“描述”: “ Robots”,“ likes”:“ 7”,“ Comments”:“ Beautiful”},{“ name”:“ Avangeers”,“ path”:“ http://api.androidhive.info/json/movies/3 .jpg”,“描述”:“笨蛋和钢铁侠”,“喜欢”:“ 8”,“评论”:“哇”}]]
这是我的PHP
$sql = "select name , path , description , likes , comments from image ";
$res = mysqli_query($con,$sql);
$result = array();
while($row = mysqli_fetch_array($res)){
array_push($result,
array('name'=>$row[0],
'path'=>$row[1],
'description'=>$row[2],
'likes'=>$row[3],
'comments'=>$row[4]
));
}
echo json_encode(array($result));
mysqli_close($con);
在这样的代码中获取它是否正确?
JsonArrayRequest movieReq = new JsonArrayRequest(url,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d("r", response.toString());
hidePDialog();
System.out.print(response);
// Parsing json
for (int i = 0; i < response.length(); i++) {
try {
JSONObject obj = response.getJSONObject(i);
Movie movie = new Movie();
movie.setTitle(obj.getString("name"));
movie.setThumbnailUrl(obj.getString("path"));
movie.setRating(obj.getString("description"));
// movie.setRating(((Number) obj.get("description"))
// .doubleValue());
movie.setYear(obj.getString("likes"));
// movie.setYear(obj.getInt("likes"));
// Genre is json array
JSONArray genreArry = obj.getJSONArray("comments");
ArrayList<String> genre = new ArrayList<String>();
for (int j = 0; j < genreArry.length(); j++) {
genre.add((String) genreArry.get(j));
}
movie.setGenre(genre);
// adding movie to movies array
movieList.add(movie);
} catch (JSONException e) {
e.printStackTrace();
}
}
// notifying list adapter about data changes
// so that it renders the list view with updated data
adapter.notifyDataSetChanged();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.print(error);
VolleyLog.d(TAG, "Error: " + error.getMessage());
hidePDialog();
}
});
$result
是一个数组。您将关联数组(成为对象)推入该数组中,因此现在您有了[{...},{...}]
然后,您执行以下操作:
echo json_encode(array($result));
因此,您将得到一个包含数组的数组,导致上面的结果带有多余的[[]: [[{...},{...}]]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句