簡體   English   中英

字符串到JSON對象的轉換iOS Swift

[英]String to JSON Object Convert iOS Swift

從服務器,我收到以下字符串作為(AnyHashable:String)

{Type:1, OrderId:174}

我知道這不是有效的Json字符串,但我必須分別處理TypeOrderId

我正在將字符串轉換為JSONObject,但是由於我的字符串無效,因此下面的代碼無法將其轉換。

if let tag = notification.request.content.userInfo["tag"]{
        if let json = try? JSONSerialization.data(withJSONObject: tag, options: []) {
            // here `json` is your JSON data
            print(json)
        }
    }

任何人都可以建議我該如何獲取Type和OrderId值,以便我可以處理響應? 還是我必須將字符串轉換為json,然后再轉換為JSONObject?

由於該字符串不是有效的JSON,因此您必須手動對其進行轉換。

編碼

  • 刪除前括號和尾括號。
  • ", "分割字符串。
  • 將每個項目轉換為[String:Int]

假定所有鍵均為String ,所有值均為Int

let string = "{Type:1, OrderId:174}"
let trimmedString = string.trimmingCharacters(in: CharacterSet(charactersIn: "{}"))
let components = trimmedString.components(separatedBy: ", ")
var result = [String:Int]()
_ = components.map { item in
    let keyValue = item.components(separatedBy: ":")
    result[keyValue[0]] = Int(keyValue[1])
}

安慰:

["Type": 1, "OrderId": 174]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM