Swift 3解析API响应麻烦

时间:2017-07-06 20:20:39

标签: json swift dictionary

我正在尝试在Swift中解析API响应,但在响应中遇到嵌套对象和数组时遇到问题

这是我的样本json

USE CM_T01
SELECT Max_id, CIVersion, Netbios_Name0, RuleName, RuleDescription, Criteria, prereifiedvalue, complianceState
FROM v_CI_CurrentComplianceStatus
INNER JOIN 
(
SELECT CI_ID,Rule_ID, Rulename,  RuleDescription, MAX(Rule_ID) OVER(PARTITION BY Rulename) AS Max_id
from v_cirules
where rulename like '%Account lockout duration%'
group by Rule_ID,RuleName, RuleDescription) as v_CIRules 
ON v_CIRules.CI_ID = v_CI_CurrentComplianceStatus.CI_ID
INNER JOIN v_R_System 
ON v_R_System.ResourceID = v_CI_CurrentComplianceStatus.ItemKey
LEFT JOIN v_CICurrentRuleDetail 
ON v_CICurrentRuleDetail.CurrentComplianceStatusID = v_CI_CurrentComplianceStatus.CI_CurrentComplianceStatusID
GROUP BY CIVersion, Netbios_Name0, RuleName, RuleDescription, Criteria, prereifiedvalue, complianceState

这是我的一些解析代码,我可以很好地到达“数据”数组中的第一个对象,但是当我尝试获取Value字符串中的第一个对象时,它无法将AnyObject转换为其他任何内容< / p>

{
  "Id": "10",
  "Name": "PV Prediction By Site",
  "Description": "",
  "Permalink": "",
  "Source_format": "JSON",
  "Internal_function_name": "get-meteo-by-site",
  "Additional_parameters": "Prediction",
  "Sites": null,
  "Data": [
    {
      "UTCDateString": "2017-05-01T20:10:33Z",
      "Value": [
        {
          "metadata": {
            "name": "Beck_Hill",
            "latitude": 46.26,
            "longitude": -112.44,
            "height": 1926,
            "timezone_abbrevation": "MDT",
            "utc_timeoffset": -6,
            "modelrun_utc": "2017-05-01 12:00",
            "modelrun_updatetime_utc": "2017-05-01 16:41",
            "kwp": 40.26,
            "slope": 30,
            "facing": 180,
            "tracking": 0
          },
          "units": {
            "time": "YYYY-MM-DD hh:mm",
            "pvpower": "kW",
            "snowcover": "mm",
            "iam": "percent",
            "temperature": "C"
          },
          "data_xmin": {
            "time": [
              "2017-05-01 07:00",
              "2017-05-01 07:15",
              "2017-05-01 07:30",
              "2017-05-01 07:45",
              "2017-05-01 08:00",
              "2017-05-01 08:15",
              "2017-05-01 08:30"
            ],
            "pvpower_instant": [
              40.26,
              40.26,
              40.26,
              40.26,
              40.26
            ]
          }
        }
      ]
    }
  ]
}

我需要“元数据”“单元”和“data_xmin”对象中的一些数据

1 个答案:

答案 0 :(得分:0)

对于元数据

结果[“数据”] [0] [“值”] [0]