使用快速json解析json
我一直在尝试在项目中使用SwiftyJSON作为我的伪JSON文件 但我只能得到“null”或“nil”,而不是JSON文件中的数据。我可能在这里不需要什么帮助 这是我得到的回应: 0 无效的 1名:无 makeof1:null 这里是伪JSON文件使用快速json解析json,json,swift,parsing,swifty-json,Json,Swift,Parsing,Swifty Json,我一直在尝试在项目中使用SwiftyJSON作为我的伪JSON文件 但我只能得到“null”或“nil”,而不是JSON文件中的数据。我可能在这里不需要什么帮助 这是我得到的回应: 0 无效的 1名:无 makeof1:null 这里是伪JSON文件 { "Cars": [ { "Name": "111", "Make": "2000" }, { "Name
{
"Cars": [
{
"Name": "111",
"Make": "2000"
},
{
"Name": "222",
"Make": "2010"
}
]
}
这里是我试图解析的地方
import UIKit
class ViewController: UIViewController {
var numberOfRows = 0
override func viewDidLoad() {
super.viewDidLoad()
parseJSON()
}
func parseJSON() {
let path : String = NSBundle.mainBundle().pathForResource("jsonfile", ofType: "json") as String!
let jsonDATA = NSData(contentsOfFile: path) as NSData!
let readableJSON = JSON(data: jsonDATA, options: NSJSONReadingOptions.MutableContainers, error: nil)
let allList = readableJSON["Cars"]
numberOfRows = readableJSON["Cars"].count
print("\(numberOfRows)")
print("\(allList)")
let name1 = readableJSON["Cars"][0]["Name"].string
let make1 = readableJSON["Cars",0,"Make"]
print("Name of 1 : \(name1)")
print("Make of 1: \(make1)")
}
}
希望这个解决方案能对您有所帮助
func parseJson () {
if let path = NSBundle.mainBundle().pathForResource("jsonfile", ofType: "json")
{
if let jsonData = try? NSData(contentsOfFile: path, options: .DataReadingMappedIfSafe)
{
let originalJson = JSON(data: jsonData)
for (_, subJson) in originalJson["Cars"] {
print(subJson["Name"])
print(subJson["Make"])
}
}
}
}
将
NSError
实例作为错误参数传递,以获取一些错误信息<代码>作为字符串是一种非常不寻常的语法。要么使用as!字符串
或可选绑定(首选)如果让…作为?字符串{…
我得到了-->可选(错误域=NSCOCAERRORDOMAIN code=3840“结尾垃圾”。用户信息={NSDEBUGSCRIPTION=结尾垃圾。})JSON字符串可能以\0结束符结尾,这会导致错误,或者JSON编码不正确。由于JSON文本位于文件中,因此请删除所有仅为人类可读的空间字符。PS:JSON基本正确。检查文件结尾是否有任何不可见的控制字符。您是对的vadian.I h广告一些其他的文章作为评论(/*..…*/)。问题解决后,我已经清除了所有的垃圾在最后。非常感谢。