Ios JSON文本不是以数组或对象开头的
使用iOS应用程序管理解析服务器(/Heroku)上的数据。 我在尝试保存数据时遇到以下问题 以下是出现问题的函数的代码:Ios JSON文本不是以数组或对象开头的,ios,json,swift,parse-server,parse-cloud-code,Ios,Json,Swift,Parse Server,Parse Cloud Code,使用iOS应用程序管理解析服务器(/Heroku)上的数据。 我在尝试保存数据时遇到以下问题 以下是出现问题的函数的代码: func saveDataBlockOnline(_ dico: [String:String]) { let psvClassName = "Goodies", dataUnit=PFObject(className: psvClassName, dictionary: dico) dataUnit.sa
func saveDataBlockOnline(_ dico: [String:String]) {
let psvClassName = "Goodies",
dataUnit=PFObject(className: psvClassName,
dictionary: dico)
dataUnit.saveInBackground {
(succeeded:Bool, error:Error?) in
if succeeded {
// Do something useful.
} else {print("\(#function) Error:\(error ?? "" as! Error)")}
}
}
以下是我得到的错误:
saveDataBlockOnline Error:Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}
我想我得到了一些JSON答案,但我没有正确使用。那么我应该如何修改代码呢
关于这个问题还有其他帖子,但我没有找到真正的解决办法
更多的细节可能有用:
保存在服务器上的数据本身正在工作。但是,当我添加了一些云代码,即Parse.cloud.beforeSave,以便更好地控制事情的发生方式时,事情开始出错。根据错误消息,要解析的数据格式不正确。检查字典和对象(数据单元)格式提供
saveInBackground的代码
saveInBackground不是我的代码。这是解析的一部分。如果我不使用云代码,它是有效的,所以saveInBackground不是问题所在。从您显示的代码来看,它是唯一的罪魁祸首。这里有一个例子:dico=[“句子”:“1969/07/20”,“订单键”:“1519804080109587”,“解释”:“尼尔·阿姆斯特朗美国”。]您是指dico变量吗?数据单元仅由PFObject生成。是的,dico变量这里有一个例子:dico=[“句子”:“1969/07/20”,“订单键”:“1519804080109587”,“解释”:“Neil Armstrong USA.”]您能为这种方法共享调试控制台(po dico)吗“po dico”是什么?我在输入函数以获取上一个命令中发布的结果时执行了:print(“dico=(dico)”)。