gpt4 book ai didi

php - JSON 错误 : Unterminated object on valid json text

转载 作者:行者123 更新时间:2023-11-29 21:15:46 25 4
gpt4 key购买 nike

我在使用 JSON 时遇到问题。在我的网站空间上,我托管一个 php 文件,它将 mysql 请求转换为 JSON 格式。然后,Android 设备读取该 JSON 文件并处理图表中的数据(温度和湿度)。

PHP 代码:

<?php
include("connect.php");

// SQL Query abschicken
$result = mysql_query("SELECT * FROM classpidb ORDER BY ID DESC LIMIT 1000");
//Schleife bis alle Eintragungen in Array gespeichert
$listenArray["Liste"] = array();
while($row = mysql_fetch_array($result)) {
$listeneintrag = array();
$listeneintrag["ID"] = $row["ID"];
$listeneintrag["Time"] = $row["Time"];
$listeneintrag["Temp"] = $row["Temp"];
$listeneintrag["Humi"] = $row["Humi"];
array_push($listenArray["Liste"], $listeneintrag);
}
//Ausgabe im JSON Format
$listenArray["Status"] = ["0","Select erfolgreich"];
echo json_encode($listenArray);


//Verbindung trennen.
mysql_close($verbindung);

?>

Android 中的 JSON 解析(结果是读取为字符串的 JSON 文件):

JSONObject jsonErgebnis = new JSONObject(result);
JSONArray statusArray = jsonErgebnis.getJSONArray("Status");
int status = statusArray.getInt(0);
if(status == 0)
{
JSONArray datenArray = jsonErgebnis.getJSONArray("Liste");
//for (int i = 0; i < datenArray.length(); i++) {
for (int i = datenArray.length() - 1; i >= 0; i--) {
JSONObject einzelsatz = datenArray.getJSONObject(i);

...

firstdatatemp.addXValue(einzelsatz.getString("Time"));
firstdatatemp.addEntry(new Entry((float) einzelsatz.getDouble("Temp"), set.getEntryCount()), 0);

...

// add a new x-value first
firstdatahumi.addXValue(einzelsatz.getString("Time"));
firstdatahumi.addEntry(new Entry((float) einzelsatz.getDouble("Humi"), set.getEntryCount()), 0);
}
}

如果我使用 SELECT * FROM classpidb ORDER BY ID DESC LIMIT 100 它工作正常。如果我使用 1000 而不是 100,我总是会收到“字符处未终止对象...”错误。 CodeBeautifier说我的 JSON 文本有效。

最佳答案

找到问题的解决方案:

Android 没有完成读取完整的 php 响应,因此我将读取响应的错误代码替换为

BufferedReader r = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line);
}

关于php - JSON 错误 : Unterminated object on valid json text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35957581/

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