【发布时间】:2017-12-22 15:41:31
【问题描述】:
我想从 PHP 获取多个 jsonObject 到我的应用程序。问题是我似乎无法为我的应用程序获取多个对象。下面是我想做的一个例子:
PHP 文件:
<?php
echo json_encode([$value1, $value2]);
?>
我使用如下所示的dataTask 方法将数据从 PHP 获取到我的 Swift 应用程序。
let task = URLSession.shared.dataTask(with: request) { (data: [Data?],
response: URLResponse?, error: Error?) in
var result = [Conversation]()
var chck = [String]()
do{
result = try JSONDecoder().decode([Conversation].self, from: data![0]) as Data)
chck = try JSONDecoder().decode([String].self, from: data![1]) as Data)
}catch{
print("error"+error.localizedDescription)
}
//do something
}
task.resume()
显然,我没有得到这两个变量。我试图将$value1 和$value2 放在一个数组中,然后将其回显到应用程序,但显然它对我不起作用。 data![0] 和 data![1] 给出错误。谁能帮帮我?
【问题讨论】:
-
将其作为数组发送,例如
echo json_encode([$value1, $value2]);。您目前拥有的内容会创建一个无效的 JSON 字符串。 -
“我试图将 $value1 和 $value2 放在一个数组中......但是......它不起作用”......告诉我们你尝试了什么。这是正确的基本思想。如果
value1和value2是相同的结构,则构建一个普通数组和json_encode。如果它们具有不同的结构,那么您可能想要构建一个关联数组(即字典)和json_encode。 -
实际上我试图按照 Jon 上面展示的那样做(但我没有放
[ ])不知何故我认为问题来自 Swift 方面,我只是不知道如何解码对象。 . 我会告诉你我做了什么,我会编辑问题@Rob