我收到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]"
}
}