gpt4 book ai didi

php - 快速处理 PHP 响应

转载 作者:行者123 更新时间:2023-11-28 08:14:25 26 4
gpt4 key购买 nike

我是 swift 的新手,我已经设法运行了一些测试程序。我有一个适用于 android 的工作 API,它以普通 echo 语句返回响应,并且工作正常。现在我想对 IOS 使用相同的 API,但出现错误。请帮忙

我的swift代码

//converting resonse to NSDictionary
let myJSON = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? NSDictionary

print(myJSON as Any)
} catch {
print(error)
}

PHP代码

echo ("SUCCESS"."HI THERE");

每次我运行我的swift代码,我都会得到错误

Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}

大多数帖子都说 php 响应不是正确的 JSON 格式。但是我现有的具有相同 echo 语句的 API 在 android 中运行良好。一种选择是重写 API。但我希望可能有一些可行的解决方案。

最佳答案

首先,我假设'data'是一个字符串:'{"SUCCESS":"HI THERE"}' - 所以打印出来并确保你正在按照你的期望工作。我的数据来自 CFStream inputStream,但应该与来自运行套接字的 ascii Linux 机器相同。所以,这是我从 json 转换为最新 Swift 的代码:

let bytesRead = inStream?.read(&buffer, maxLength: bufferSize)
let bufferStr = NSString(bytes: &buffer, length: bytesRead!, encoding: String.Encoding.utf8.rawValue)
print("Stuff seems to have arrived: \(bufferStr)")
ProcessReceivedJsonData(dataReceived: bufferStr!.data(using: String.Encoding.utf8.rawValue, allowLossyConversion: false)! as Data)

……然后……

func ProcessReceivedJsonData(dataReceived: Data) {
do {
let newDataReceived: Data = myDataReceived
print(myDataReceived)
if let jsonResult: NSDictionary = try JSONSerialization.jsonObject(with: myDataReceived as Data, options: JSONSerialization.ReadingOptions.mutableContainers) as? NSDictionary
// then I process the dictionary

我错过了回答中的第一部分 - 抱歉疏忽。

关于php - 快速处理 PHP 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42928229/

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