如何在 iOS XCode 中为 JSON 定义结构?

Posted

技术标签:

【中文标题】如何在 iOS XCode 中为 JSON 定义结构?【英文标题】:How to define structure in iOS XCode for JSON? 【发布时间】:2020-11-01 14:10:20 【问题描述】:

作为 ios 新手,XCode 我正在尝试创建一个结构来表示 JSON 数据。但是,无论我尝试如何定义“段”(由一个 int 和一个字符串数组组成),XCode 都会出错,当我尝试遵循建议的修复时,它只会产生其他错误。

任何人都知道如何为 JSON 定义一个命名的结构,例如,不使用“ANY”,因为所有名称-值对和数据类型都是已知的?

XCODE 示例(如下所示的一种变体,尽管已经尝试了数十种并产生错误):

struct Information: Decodable 
    var entry: [Entry]

struct Entry: Decodable 
    var section: Int
    ***ERROR HERE ->*** var segments: Array<var id: Int, var values: Array<String>>

JSON 示例:


  "entry": [
    
      "section": 1,
      "segments": [
        
          "id": 1,
          "values": ["1", "2", "3"]
        ,
        
          "id": 2,
          "values": [ "4", "5", "6" ]
        
      ]
    ,
    
      "section": 2,
      "segments": [
        
          "id": 1,
          "values": ["7", "8", "9"]
        ,
        
          "id": 2,
          "values": [ "a", "b", "c" ]
        
      ]
    
  ]

【问题讨论】:

【参考方案1】:

和顶层一样:你必须为底层创建一个结构体。

struct Information: Decodable 
    let entry: [Entry]

struct Entry: Decodable 
    let section: Int
    let segments: [Segment]

struct Segment: Decodable 
    let id: Int 
    let values: [String]

【讨论】:

vadian,这个建议很有效!我不知道它必须像这样分解结构的内部部分。我要去了解有关这个新 XCode 的更多信息(至少对我来说是新的),再次感谢!

以上是关于如何在 iOS XCode 中为 JSON 定义结构?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 自动布局:如何在 Xcode 故事板中为 iPad 横向和 iPad 纵向设计不同的布局?

如何在 iOS 中为按钮添加声音?

如何在 iOS Swift 3.1 Xcode 8.3.2 中为 iPad 应用程序安装 iPhone 应用程序

如何在 iOS 的 UITableView Cell 中为 UIButton 设置标签值?

如何在 Xcode 中为 Apple Watch 添加单元测试?

可以在 xcode 5 中为 ios 8 设备调用 registerUserNotificationSettings