如何使用 SwiftyJSON 在 Swift 中解析这个 JSON 对象?

Posted

技术标签:

【中文标题】如何使用 SwiftyJSON 在 Swift 中解析这个 JSON 对象?【英文标题】:How do i parse this JSON object in Swift using SwiftyJSON? 【发布时间】:2015-08-26 13:21:53 【问题描述】:

我从 phpmysql 创建了一个 JSON 数组。 我已经使用 Alamofire 从服务器获取响应,但是,我被困在如何使用 SwiftyJSON 解析数据上,这样我就可以将其放入自定义对象数组中,然后将其加载到 tableView 中。

我的 JSON 对象如下所示:

     
    person =     
        "average_price" = "7430.83";
        distance = "3012.984699624479";
        "person_id" = 9;
        "person_name" = Rerobepicator;
    ;


    person =     
        "average_price" = "2281.35";
        distance = "3780.0428863723305";
        "person_id" = 7;
        "person_name" = Vartanentor;
    ;


    person =     
        "average_price" = "20.00";
        distance = "3923.2963365576284";
        "person_id" = 16;
        "person_name" = bangbang;
    ;


    person =     
        "average_price" = "7430.83";
        distance = "3953.934665981184";
        "person_id" = 9;
        "person_name" = Rerobepicator;
    ;


    person =     
        "average_price" = "747.86";
        distance = "4040.1432041597536";
        "person_id" = 8;
        "person_name" = Happickamex;
    ;


    person =     
        "average_price" = "4967.73";
        distance = "4288.827177318351";
        "person_id" = 3;
        "person_name" = Klibanollover;
    ;


    person =     
        "average_price" = "2281.35";
        distance = "4393.581790994688";
        "person_id" = 7;
        "person_name" = Vartanentor;
    ;


    person =     
        "average_price" = "20.00";
        distance = "4792.883669320238";
        "person_id" = 16;
        "person_name" = bangbang;
    ;


    person =     
        "average_price" = "9857.78";
        distance = "6374.9873653967";
        "person_id" = 4;
        "person_name" = Admunover;
    ;


    person =     
        "average_price" = "747.86";
        distance = "6822.324630020093";
        "person_id" = 8;
        "person_name" = Happickamex;
    ;


    person =     
        "average_price" = "9494.88";
        distance = "7177.263972744869";
        "person_id" = 10;
        "person_name" = Thrukilanicator;
    ;


    person =     
        "average_price" = "8570.38";
        distance = "8208.371313460493";
        "person_id" = 5;
        "person_name" = Undudplazz;
    ;

之所以看起来像上面是因为我这样做是为了拆分每个 JSON 对象:

            if let personobject = JSON as? Array<AnyObject> 

                for person in personobject 
                    println(person)
                
            

    

我现在需要将这些中的每一个加载到我的自定义对象中,如下所示:

class shop 

var shop_name : String?
var shop_type : String?
var averageprice : Float?

init() 


然后我将它加载到我的 Person 对象数组中,并使用自定义单元格对象将它加载到我的 tableView 中。

谢谢你:)

【问题讨论】:

【参考方案1】:

您的第一个问题是您的 JSON 根本无效,因此使用 SwiftyJSON 解析它可能会遇到一些麻烦,

您可以使用此链接验证您的 JSON:jsonformatter

【讨论】:

以上是关于如何使用 SwiftyJSON 在 Swift 中解析这个 JSON 对象?的主要内容,如果未能解决你的问题,请参考以下文章

如何在swift中使用alamofire和swiftyjson解析分页url?

如何使用 SwiftyJSON(在 Swift 中)基于 JSON 对象数组创建对象数组?

如何在 Swift 3.0 中使用 SwiftyJSON 将 JSON 数据分配给 UILabel?

Alamofire 4 请求返回 NSArray,无法弄清楚如何在 Swift 3 中使用 SwiftyJSON 进行解析

swift、Alamofire、SwiftyJSON:如何解析 arrayObject

如何在我的 Swift XCode 应用程序上设置 SwiftyJSON?