gpt4 book ai didi

java - 如何在android中检索json数组?

转载 作者:行者123 更新时间:2023-12-02 04:18:51 24 4
gpt4 key购买 nike

下面是我的 Android 代码,它应该检索 json 数组。但它显示“json数组无法转换为json对象”的异常。这段代码有什么问题?

JSONObject json = new JSONObject(result);
JSONArray jArray = json.getJSONArray("emparray");

ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();

// testing works ...

// ... until here
for (int i = 0; i < jArray.length(); i++) {
json = jArray.getJSONObject(i);

String id = null, loc = null;
id = json.getString("user_id");

loc = json.getString("crtloc_lat");

HashMap<String,String> persons2 = new HashMap<String,String>();
persons2.put("uder_id",id);
persons2.put("crtloc_lat",loc);
personList.add(persons2);
mylist.add(persons2);
Toast.makeText(MapsActivity.this, "waw id is"+id, Toast.LENGTH_SHORT).show();
}

PHP 文件

 <?php
require "config.php";
$con = mysqli_connect(HOST,USER,PASS,DB);

$pro_id=2;
$sql="SELECT user.user_id, current_location.crtloc_lat,current_location.crtloc_lng FROM user INNER JOIN current_location
where user.user_id=current_location.user_id AND user.pro_id='$pro_id'";



$result = mysqli_query($con, $sql) or die("Error in Selecting " . mysqli_error($con));

//create an array
$emparray[] = array();
while($row =mysqli_fetch_assoc($result))
{
$emparray[] = $row;
}
echo json_encode($emparray);

//close the db connection
mysqli_close($con);
?>

下面是我的 json 数组

[[],{"user_id":"77","crtloc_lat":"34.769638","crtloc_lng":"72.361145"},{"user_id":"76","crtloc_lat":"34.769547","crtloc_lng":"72.361504"},{"user_id":"87","crtloc_lat":"33.697117","crtloc_lng":"72.976631"},{"user_id":"86","crtloc_lat":"33.697117","crtloc_lng":"72.976631"}]

最佳答案

您应该检查 JSON 作为字符串以了解问题出在哪里,无论如何,如果结果是 JSON 数组(如 [ .... ] ),您的第一行就是错误的

JSONObject json = new JSONObject(result);
JSONArray jArray = json.getJSONArray("emparray");

应该是

JSONArray jArray = json.getJSONArray(result);

但为了确保你应该发布你的 JSON 字符串...

还有另一种想法让我有点困惑,在 JAVA 中,JSONObject 是围绕 HashMap 创建的(如您所见 here )JSONArray 非常接近 HashMap 数组...

我认为你想做的事情有点没用......

关于java - 如何在android中检索json数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33013187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com