NSJSONSerialization接收json的问题没有得到顶部标题

时间:2014-06-17 11:44:43

标签: json nsdictionary swift nsjsonserialization

我收到json作为NSData,并希望序列化它,但我无法理解它。

我的代码如下:

func parseDownloadedData(inputData: NSData) -> (Bool)
{
    var error: NSError?
    var commonData: NSDictionary = NSJSONSerialization.JSONObjectWithData(inputData, options: NSJSONReadingOptions.MutableContainers, error: &error) as NSDictionary

    if commonData.count > 0
    {
        var resultInArray : NSMutableArray = commonData.valueForKey("") as NSMutableArray

        for result in resultInArray
        {
            let origin = result.objectForKey("origin") as NSString!
            let friendlyNameLong = result.objectForKey("friendlyNameLong") as NSString!
            let state = result.objectForKey("state") as NSString!

            createEventObject(origin, friendlyNameLong: friendlyNameLong, state: state)
        }

        return true
    }
    else
    {
        return false
    }
}

我也尝试使用键值创建resultInArray,然后使用commonData.valueForKey“that value”

但它不起作用。

我的Json回归如下:

{
    "DeviceIpint.0/SourceEndpoint.video:0:0":
    {
        "origin": "DeviceIpint.0/SourceEndpoint.video:0:0"
        ,"state": "signal_restored"
        ,"friendlyNameLong": "0.Indkorsel"
        ,"friendlyNameShort": "IP уcтройcтво [0]"
    }
    ,"DeviceIpint.1/SourceEndpoint.video:0:0":
    {
        "origin": "DeviceIpint.1/SourceEndpoint.video:0:0"
        ,"state": "signal_lost"
        ,"friendlyNameLong": "1.Fasade"
        ,"friendlyNameShort": "IP уcтройcтво [1]"
    }
    ,"DeviceIpint.2/SourceEndpoint.video:0:0":
    {
        "origin": "DeviceIpint.2/SourceEndpoint.video:0:0"
        ,"state": "signal_restored"
        ,"friendlyNameLong": "2.Indgang"
        ,"friendlyNameShort": "IP уcтройcтво [2]"
    }
    ,"DeviceIpint.3/SourceEndpoint.video:0:0":
    {
        "origin": "DeviceIpint.3/SourceEndpoint.video:0:0"
        ,"state": "signal_restored"
        ,"friendlyNameLong": "3.Have"
        ,"friendlyNameShort": "IP уcтройcтво [3]"
    }
    ,"DeviceIpint.4/SourceEndpoint.video:0:0":
    {
        "origin": "DeviceIpint.4/SourceEndpoint.video:0:0"
        ,"state": "signal_restored"
        ,"friendlyNameLong": "4.Garage"
        ,"friendlyNameShort": "IP уcтройcтво [4]"
    }
}

0 个答案:

没有答案