我試圖解析此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