【问题标题】:creating JSON object without using a list在不使用列表的情况下创建 JSON 对象
【发布时间】:2015-03-17 18:08:55
【问题描述】:

我希望能够创建一个 JSON 对象,以便我可以像这样访问它。

education.schools.UNCC.graduation

目前,我的 JSON 是这样的:

var education  = {
    "schools": [
        "UNCC": {
            "graduation": 2015, 
            "city": "Charlotte, NC", 
            "major": ["CS", "Spanish"]
        },
        "UNC-CH": {
            "graduation": 2012,
            "city": "Chapel Hill, NC"
            "major": ["Sociology", "Film"]
        }
    ],
    "online": {
        "website": "Udacity",
        "courses": ["python", "java", "data science"]
    }
};

当我去 Lint 我的 JSON 时,我收到一条错误消息。 我知道我可以重新格式化我的对象以像这样(如下)访问它,但我不想这样做。我希望能够调用学校名称,而不是使用索引号。

education.schools[1].graduation

【问题讨论】:

  • 这不是 JSON,而是 JavaScript。

标签: json lint


【解决方案1】:

对象具有命名键。数组是成员的列表。

"schools" 的值替换为一个对象。将[] 更改为{}

【讨论】:

  • 将 [] 替换为 {} ?但是如果你有一个学校数组,你需要使用 [{ "school1" .... "school2" }] 你可以通过education.schools[1] 访问,之后呢?
  • @rguerra — 如果你想要一系列学校,那么是的,你会做这样的事情。该问题明确表示这不是我们想要的:“我希望能够调用学校名称,而不是使用索引号。”
【解决方案2】:

这是您的 JSON 更正。 您的 JSON 无效。

{
    "schools": [
        {
            "UNCC": {
                "graduation": "2015",
                "city": [
                    "CS",
                    "Spanish"
                ],
                "major": [
                    "CS",
                    "Spanish"
                ]
            }
        },
        {
            "UNC-CH": {
                "graduation": "2012",
                "city": [
                    "Chapel Hill",
                    "NC"
                ],
                "major": [
                    "Sociology",
                    "Film"
                ]
            }
        }
    ],
    "online": {
        "website": "Udacity",
        "courses": [
            "python",
            "java",
            "data science"
        ]
    }
}

说明

  1. "city": "Chapel Hill, NC" -> 这是一个包含 2 个值的数组:“Chapel Hill”和“HC ”,就像您对专业和课程所做的那样。
  2. Schools数组,需要用这个sintaxe来构造数组[{

http://adobe.github.io/Spry/samples/data_region/JSONDataSetSample.html

【讨论】:

  • 您的 JSON 无效。您想要使用无效的 JSON,这是不可能的。您需要先构造一个有效的 JSON。
  • 我的意思不是我不知道你想做什么(我知道),而是其他人不知道。纯代码不是一个好的答案。您必须以人们可以理解的方式解释问题所在以及如何解决问题。
  • 换句话说:答案应该包括解释,而不是找不同的游戏。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-23
  • 1970-01-01
相关资源
最近更新 更多