SwiftyJSON 数组为空

Posted

技术标签:

【中文标题】SwiftyJSON 数组为空【英文标题】:SwiftyJSON array empty 【发布时间】:2015-09-10 07:47:36 【问题描述】:

我想使用 SwiftyJSON 和 Alamofire 从 JSON 文件中检索数据。这是 JSON 数据:

json: 
"data" : 
"monitors" : [
  
    "lines" : [
      
        "towards" : "LEOPOLDAU",
        "realtimeSupported" : true,
        "departures" : 
          "departure" : [
            
              "departureTime" : 
                "countdown" : 2,
                "timePlanned" : "2015-09-09T18:47:03.000+0200",
                "timeReal" : "2015-09-09T18:47:03.000+0200"
              
            ,
            
              "departureTime" : 
                "countdown" : 6,
                "timePlanned" : "2015-09-09T18:51:03.000+0200",
                "timeReal" : "2015-09-09T18:51:03.000+0200"
              
            
          ]
        ,
        "lineId" : 301,
        "platform" : "1",
        "trafficjam" : false,
        "richtungsId" : "1",
        "direction" : "H",
        "type" : "ptMetro",
        "name" : "U1",
        "barrierFree" : true
      
    ],
    "attributes" : 

    ,
    "locationStop" : 
      "type" : "Feature",
      "geometry" : 
        "type" : "Point",
        "coordinates" : [
          16.4330680046932,
          48.2430825589716
        ]
      ,
      "properties" : 
        "municipality" : "Wien",
        "title" : "Kagran",
        "coordName" : "WGS84",
        "municipalityId" : 90000,
        "type" : "stop",
        "gate" : "1",
        "name" : "60200627",
        "attributes" : 
          "rbl" : 4127
        
      
    
  
]

 ,
"message" : 
"value" : "OK",
"serverTime" : "2015-09-09T18:45:08.998+0200",
"messageCode" : 1
  

我现在要做的是将行的数据放入一个数组中。我为此尝试了几种组合,例如

let departureArray = jsonData["data"]["monitors"][0]["lines"][0].array

let departureArray = jsonData["data"]["monitors"]["lines"].array

但我的数组总是空的。有谁知道如何正确地做到这一点?

【问题讨论】:

【参考方案1】:

您期望的数组 departureArray 实际上是一个字典

let departureDictionary = jsonData["data"]["monitors"][0]["lines"][0].dictionary

【讨论】:

你可以在源代码"lines" : [ ... 中看到它 - 键lines 的值是一个数组(由[ 表示),其中包含一个字典(由 表示)跨度>

以上是关于SwiftyJSON 数组为空的主要内容,如果未能解决你的问题,请参考以下文章

判断字符串为空为 null 为 whitespace 工具类

linux字符测试

java判断字符串是不是为空

使用脚本选项及组合条件测试

PHPActiveRecord validates

php判断mysql数据库是不是为空