【发布时间】:2019-11-29 23:31:13
【问题描述】:
让我先说我对 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?谢谢。
【问题讨论】: