讓我先說這個問題,我對 JSON 沒有經驗,所以如果我說錯了什么,請糾正我。我已經搜索了幾個小時,但找不到我的問題的解決方案。所以,我運行了一些 php,它應該返回包含 3 行數據的 JSON(高分表中的前三個用戶)。在 php 文件中,我這樣回顯每一行:while ($row = $result->fetch_assoc()) { echo (json_encode($row));}但是,當我嘗試解析輸出時:func parseJSON(_ data:Data) { var jsonResult = NSArray() do { jsonResult = try JSONSerialization.jsonObject(with: data, options: []) as! NSArray } catch let error as NSError { print(error) }}控制臺拋出錯誤:錯誤域=NSCocoaErrorDomain 代碼=3840 “垃圾在末尾?!?UserInfo={NSDebugDescription=末尾的垃圾。}這是服務器的實際輸出:{"userid":"8","name":"Sam","highscore":"215","rank":"1"}{"userid":"9","name":"James","highscore":"210","rank":"2"}{"userid":"10","name":"Julian","highscore":"162","rank":"3"}根據jsonlint.com這不是有效的,但我不知道我能做些什么來解決這個問題。為什么 json_encode() 不在}括號后放置逗號,最重要的是如何修復無效的 JSON?謝謝你。
1 回答

滄海一幻覺
TA貢獻1824條經驗 獲得超5個贊
您回顯了多個 JSON 字符串,您需要將查詢結果合并為 1 個數組,然后將其轉換為單個 JSON 字符串:
$array = []
while ($row = $result->fetch_assoc()) {
$array[] = $row;
}
echo json_encode($array);
您的 JSON 將如下所示:
[
{"userid":"8","name":"Sam","highscore":"215","rank":"1"},
{"userid":"9","name":"James","highscore":"210","rank":"2"},
{"userid":"10","name":"Julian","highscore":"162","rank":"3"}
]
- 1 回答
- 0 關注
- 176 瀏覽
添加回答
舉報
0/150
提交
取消