在顶层接收带有括号的格式错误的JSON

时间:2017-10-05 16:01:54

标签: json swift api swift3 swifty-json

var username = '<%=HttpContext.Current.User.Identity.Name%>';

我正在尝试解析这个JSON数据,但我很挣扎。例如,当我打电话给[Data]: 10633 bytes [Result]: SUCCESS: { branded = ( { "brand_name" = "Pal's Sudden Service"; "brand_name_item_name" = "Pal's Sudden Service Hotdog"; "brand_type" = 1; "food_name" = Hotdog; "nf_calories" = 300; "nix_brand_id" = 58769799a5bb96105b8fb337; "nix_item_id" = c6402707666e81250cff44d4; photo = { highres = "<null>"; thumb = "https://d2eawub7utcl6.cloudfront.net/images/nix-apple-grey.png"; 时,我什么也得不到。

如何绕过顶层的括号并获取数据?

我使用SwiftyJSON来解析数据,这就是为什么它的格式就像我的例子。

1 个答案:

答案 0 :(得分:0)

假设您的json变量是您在问题中为[RESULT]:显示的内容,那么您首先需要获取"SUCCESS"密钥的值。然后,您可以获取"branded"密钥的值。结果是一个数组。 JSON中的括号表示数组。这里什么都没有变形。

if let success = json["SUCCESS"] as? [String:Any] {
    if let branded = success["branded"] as? [[String:Any]] {
        for brand in branded {
            let brandName = brand["brand_name"] as! String
        }
    }
}