我使用php-mysql和json遇到此错误,严重的是我已经花了2天了,所以这是我的代码
require "includes/connexion.php";
$requete="SELECT * FROM contacts;";
$rep=$pdo->query($requete);
while($data=$rep->fetch(PDO::FETCH_ASSOC)){
$sortie[]=$data;
}
print(json_encode($sortie));
$rep->closeCursor();
这是Java代码的一部分,results参数中的jsonArray包含该值(来自控制台):
[{"id":"1","nom":"Fedson Dorvilme","email":"[email protected]","phone":"34978238","img":"ic_launcher"},{"id":"2","nom":"Darlene Aurelien","email":"[email protected]","phone":"34171191","img":"ic_launcher"}]
JSONArray array = new JSONArray(result);
for (int i = 0; i < array.length(); i++) {
JSONObject json_data = array.getJSONObject(i);
Log.i("MyLogFlag", "Nom Contact: " + json_data.getString("nom"));
returnString = "\n\t" + array.getJSONArray(i);
System.out.println(" ********** RS [ "+returnString+" ]****************");
}
} catch (Exception e) {
Log.e("log_Exception_tag", "Error parsing data " + e.toString());
}
在此先感谢您的帮助
参考方案
这是您的json结构:
[
{
"id": "1",
"nom": "Fedson Dorvilme",
"email": "[email protected]",
"phone": "34978238",
"img": "ic_launcher"
},
{
"id": "2",
"nom": "Darlene Aurelien",
"email": "[email protected]",
"phone": "34171191",
"img": "ic_launcher"
}
]
从您的Java代码:
JSONArray array = new JSONArray(result); // OK
for (int i = 0; i < array.length(); i++) {
JSONObject json_data = array.getJSONObject(i); // OK
returnString = "\n\t" + array.getJSONArray(i); // ??? wrong!!
}
您尝试从array但JSONObject
获取Array。
正确的方式:
JSONArray gb = new JSONArray(str);
for (int j = 0; j < gb.length(); j++) {
JSONObject element = gb.getJSONObject(j);
int id = element.getInt("id");
int phone = element.getInt("phone");
String nom = element.getString("nom");
String email = element.getString("email");
String img = element.getString("img");
}
JSON PATH字段NULL检查表达式 - java我有一个像bellow的json数组:{ "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sa…
Java Map,如何将UTF-8字符串正确放置到地图? - java我有一个地图,LinkedHashMap更确切地说。我想在上面放一个字符串对象。然后,我读取此值以查看实际存储的内容。字符串本身具有非ASCII字符(西里尔文,韩文等)。将其放到地图上然后阅读后,这些字符将替换为??? s。一些代码:Map obj = new LinkedHashMap(); System.out.println("name: &…
Elasticsearch-如何使用Java在JSON对象中添加或编辑字符串数组? - java我在Java中分别具有用户ID,名称和类型变量,如int,string和arraylist。我想像这样将其插入Elasticsearch数据库中:users { "userid": 5, "name": "test", "type": ["U1", "…
Java-搜索字符串数组中的字符串 - java在Java中,我们是否有任何方法可以发现特定字符串是字符串数组的一部分。我可以避免出现一个循环。例如String [] array = {"AA","BB","CC" }; string x = "BB" 我想要一个if (some condition to tell wheth…
使用杰克逊映射未命名的数组 - java在未指定游标的情况下点击twitter friends/ids API端点将返回以下JSON响应:["243439460","13334762", "14654522"]但是,在指定游标时,您会得到记录的格式:{"next_cursor":0,"previous_cur…