【问题标题】:Creating a json object in swift: Consecutive statements on a line must be separated by ';'swift中创建json对象:一行中的连续语句必须用';'分隔
【发布时间】:2020-08-31 21:13:30
【问题描述】:

我是 swift 新手,浏览了一些关于创建 json 对象的演示,我正在尝试创建一个来测试我的一些类。据我所知,一切看起来都很好,但都是新的,所以可能会遗漏一些东西。

这是我正在使用的代码:

let contactRecords = [
        "listId" : 1,
        "phoneContacts": [{
            "phoneNumber": "264",
            "id": 1,
            "listID": 1,
            "orderID": 0,
            "description": "Call First During the Day",
            "dispatchDispositions": "",
            "viewFromWeb": false,
            "name": "Office",
            "uniqueId": 1,
            "readOnly": false,
            "changed": false
            },{
            "phoneNumber": "99999999",
            "id": 1,
            "listID": 1,
            "orderID": 0,
            "description": "",
            "dispatchDispositions": "",
            "viewFromWeb": false,
            "name": "Cell Phone",
            "uniqueId": 1,
            "readOnly": false,
            "changed": false
            }],
        
        ] as [String : Any]

我在xcode中遇到错误一行上的连续语句必须用':'分隔

我没有看到我做错了什么,它看起来像是我能找到的每个演示中的 json 对象。大家都看到了什么?

【问题讨论】:

  • 大括号有什么用?这不是 JSON。
  • 正如 vadian 已经提到的,这不是有效的 Swift 语法。您要创建字典或 json 字符串是什么?

标签: json swift xcode


【解决方案1】:

您正在混淆字典和 JSON 字符串语法。它要么是没有任何大括号的 Swift 字典

let contactRecords : [String:Any] = [
    "listId" : 1,
    "phoneContacts": [[
        "phoneNumber": "264",
        "id": 1,
        "listID": 1,
        "orderID": 0,
        "description": "Call First During the Day",
        "dispatchDispositions": "",
        "viewFromWeb": false,
        "name": "Office",
        "uniqueId": 1,
        "readOnly": false,
        "changed": false
        ],[
        "phoneNumber": "99999999",
        "id": 1,
        "listID": 1,
        "orderID": 0,
        "description": "",
        "dispatchDispositions": "",
        "viewFromWeb": false,
        "name": "Cell Phone",
        "uniqueId": 1,
        "readOnly": false,
        "changed": false
        ]]
    ]

或带有大括号的文字 JSON 字符串

let contactRecords = 
"""
{   "listId" : 1,
    "phoneContacts": [{
        "phoneNumber": "264",
        "id": 1,
        "listID": 1,
        "orderID": 0,
        "description": "Call First During the Day",
        "dispatchDispositions": "",
        "viewFromWeb": false,
        "name": "Office",
        "uniqueId": 1,
        "readOnly": false,
        "changed": false
        },{
        "phoneNumber": "99999999",
        "id": 1,
        "listID": 1,
        "orderID": 0,
        "description": "",
        "dispatchDispositions": "",
        "viewFromWeb": false,
        "name": "Cell Phone",
        "uniqueId": 1,
        "readOnly": false,
        "changed": false
        }]
 }
 """

【讨论】:

  • 成功了,谢谢!我想我混淆了这两种类型。我必须使用json的第一个项目进来并且很困惑。
猜你喜欢
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-18
  • 2023-01-25
相关资源
最近更新 更多