我试图解析此JSONJSON解析(SWIFT)
["Items": <__NSSingleObjectArrayI 0x61000001ec20>(
{
AccountBalance = 0;
AlphabetType = 3;
Description = "\U0631\U06cc\U0648";
FullCode = "P_21_JIM_456_IR_25";
IRNumber = 25;
LeftNumber = 21;
RightNumber = 456;
}
)
, "ErrorCode": 0, "ErrorMessage": , "Result": 1]
如何访问项参数在这种情况下?我试图创建结构的项目,但我有这个错误:无法将类型'(键:字符串,值:AnyObject)'的值转换为期望的参数类型'[String:AnyObject]' 访问项目参数的解决方案是什么?
有我的项目结构和解析JSON代码:
struct PalletItems {
let accountBalance : Int
let alphabetType : Int
let description : String
let fullCode : String
let irNumber : Int
let leftNumber : Int
let rightNumber : Int
init? (accountBalance: Int, alphabetType: Int, description : String, fullCode: String, irNumber: Int, leftNumber: Int, rightNumber: Int) {
self.accountBalance = accountBalance
self.alphabetType = alphabetType
self.description = description
self.fullCode = fullCode
self.irNumber = irNumber
self.leftNumber = leftNumber
self.rightNumber = rightNumber
}
func palletListFromJSONData(_ data : Data) -> PaletListResult {
do{
let jsonresult : [String : AnyObject]
= try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.allowFragments) as! [String:AnyObject]
print("json : \(jsonresult)")
let success = jsonresult["Items"] as? PalletItems
print("items is : \(success)")
for paletJson in jsonresult {
if let palet = getBalanceOfWalletFromJsonObject(paletJson) {
finalResult.append(palet)
}
}
let palet = getBalanceOfWalletFromJsonObject(jsonresult)
finalResult.append(palet!)
return .success(finalResult)
}
catch let error as NSError{
print("that is parsing json error : \(error)")
return .failure(error)
}
}
func getBalanceOfWalletFromJsonObject(_ json: [String: AnyObject]) -> ListOfPlates?{
guard let
errorCode = json["ErrorCode"] as? Int,
let errorMessage = json["ErrorMessage"] as? String,
let result = json["Result"] as? Int,
let item = json["Items"] as? PalletItems
else {
return nil
}
let obj = ListOfPlates(errorCode: errorCode, errorMessage: errorMessage, result: result, items: item)
return obj
}
显示更多代码。你如何解析? – Shoaib