- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我收到一条推送消息。好像是jsonString。
但这并没有改成jsonArray。有什么问题?
AppDelegate.swift
guard
let aps = data[AnyHashable("aps")] as? NSDictionary,
let alert = aps["alert"] as? NSDictionary,
let body = alert["body"] as? String
else {
Log.Error("it's not good data")
return
}
let jsonStringData : Data = body.data(using: .utf8)!
Log.Info(jsonStringData)
do {
let jsonArray = try JSONSerialization.jsonObject(with: jsonStringData, options : .allowFragments) as? [Dictionary<String,Any>]
Log.Info(jsonArray) // use the json here
} catch let error as NSError {
Log.Error(error)
}
正文值(字符串)
{
notification : {
"title" : "test title.",
"body" : "test context."
},
data : {
"image" : "http://11.111.111.111:100000000/_img/sample_01.jpg",
"page_url" : "http://11.111.111.111:100000000/test?address=",
"type" : "test"
}
}
body的日志是这样的,JSON形式。但这不是翻译的。我不知道我错过了什么。
**错误是:**
Error Domain=NSCocoaErrorDomain Code=3840 "No string key for value in object around character 7." UserInfo={NSDebugDescription=No string key for value in object around character 7.}
最佳答案
感谢@vadian、@Larme、@Sh_Khan 和@Kamran
如您所说,JSON
无效。这应该由 JSON
接收。正如@Larme 所说,我不需要选项,我不需要设置as
。它反而向我显示了一个警告。
成功了
guard
let aps = data[AnyHashable("aps")] as? NSDictionary,
let alert = aps["alert"] as? NSDictionary,
let body = alert["body"] as? String
else {
Log.Error("it's not good data")
return
}
let jsonStringData : Data = body.data(using: .utf8)!
Log.Info(jsonStringData)
do {
let json = try JSONSerialization.jsonObject(with: jsonStringData, options: [])
Log.Info(json) // use the json here
guard let jsonArray = json as? [String: Any] else {
return
}
Log.Debug(jsonArray)
Log.Debug(jsonArray["data"])
} catch let error as NSError {
Log.Error(error)
}
关于ios - Error Domain=NSCocoaErrorDomain Code=3840 在Swift5中解析JsonString时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58115266/
NSCocoaErrorDomain 错误代码常量在哪里定义?我总是记不住哪个 .h 文件包含常量。 最佳答案 许多都存储在 FoundationErrors.h 中。其他的可以在 AppKitErr
所以我正在运行命令行 Swift 工具来管理我的扩展坞。 命令 dockutil --remove #{appName} 直接在 shell 上执行时有效,但当我从 Swift 中执行它时,我收到此错
我已经被这个问题困扰了一段时间,似乎无法解决这个问题。 我试图从 URL 中将 URL 的内容作为字符串读取,但我得到了一个奇怪的结果 Error -> Error Domain=NSCocoaErr
我已经坚持了一段时间,似乎没有解决这个问题。 我正在尝试将 URL 的内容作为字符串从 URL 中读取,但我感到很奇怪 Error -> Error Domain=NSCocoaErrorDomain
我正在尝试获取 url 的来源,以便我可以解析 HTML 代码以获取信息。我有以下代码: NSURL *url = [NSURL URLWithString:@"http://www.google.
我正在使用持久容器将数据加载到 tableviewcontroller,但每次我想保存数据时,它都会显示这样的奇怪错误。 每次加载其他 VC(从标签栏)后访问好友列表页面时都会出现错误。如果我直接打开
我在使用 Swift 编码时遇到问题。 我想解析一个 JSON 字符串,但我得到了这个错误: Error Domain=NSCocoaErrorDomain Code=3840 "No value f
当我尝试从 Swift 运行 Firebase 函数时,我收到一条错误消息: Error Domain=NSCocoaErrorDomain Code=3840 “JSON 文本未以数组或对象开头,并
该文件是在 Objective-C 的旧项目中创建的。 NSKeyedArchiver* archiver = [[NSKeyedArchiver alloc] initForWritingWithM
我正在尝试创建一个新目录并将文件放入其中。然而,我得到了 Error Domain=NSCocoaErrorDomain Code=257 "The file “Offline” couldn’t b
我正在开发一个应用程序。在调用我的一项网络服务时出现错误, Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be
override func viewDidLoad() { super.viewDidLoad() let dataURLString: String = Bundle.main.pa
我正在尝试创建一个新目录并将文件放入其中。但是,我得到了 Error Domain=NSCocoaErrorDomain Code=257 "The file “Offline” couldn’t b
我知道很多其他人也有同样的问题,并且有很多问题具有相同的主题/标题。但是这些都没有解决我的问题。 我对云代码和 Facebook 登录使用解析。但由于解析关闭,我将代码移至 back4app。 这是移
您好,我正在使用 iOS 8.0 的新照片框架。我正在尝试删除一系列照片,代码如下: NSArray *toDeletePhotos = [photos valueForKey:@"asset
我已经在我的应用程序中创建了一个用于登录的脚本。用户输入他们的用户名和密码,然后我将这些值发送到服务器。我有一个 php 脚本来检查数据库值,然后将 json 编码数组返回到我的应用程序。我解析结果,
我正在尝试使用来自 xcode 的 switf 4 来使用 rest web 服务,这是我的代码: func login_crm(user:String, passwd:String) { l
func DoLogin(_ email:String, _ password:String) { struct user : Decodable { let
我想用 HMHomeManager 和 addHomeWithName 创建 HMHome。 manager.addHomeWithName("Casa", completionHandler: {
对于基于 NSDocument 的应用程序的下一个版本,我正在修改文档参数,即 Info.plist > CFBundleDocumentTypes 和 UTExportedTypeDeclarati
我是一名优秀的程序员,十分优秀!