【问题标题】:Is it possible to make this JSON object? How can I?是否可以制作这个 JSON 对象?我怎样才能?
【发布时间】:2019-01-20 12:42:37
【问题描述】:

如何制作这样的 json 数组?有可能吗?

"data" : [
        "1000": "1000",
        "1200": "1200",
        "1400": "1400",
        "1600": "1600",
        "1800": "1800",
]

"data" : [
        1000: 1000,
        1200: 1200,
        1400: 1400,
        1600: 1600,
        1800: 1800,
]

不是这样的

"data" : [
 "1000",
 "1200",
 "1400",
 "1600",
 "1800",
]

"data" : [
        0: "1000",
        1: "1200",
        2: "1400",
        3: "1600",
        4: "1800",
]

注意:字符串或整数,没关系。

我只想使用一个整数。不是任何字母或单词。

【问题讨论】:

  • 唯一可能的语法是第二种。为什么坚持使用数组而不使用对象?
  • 请注意,您希望的格式对 JSON 无效。您必须使用 {} 而不是 [] 才能使其至少是有效的 JSON。请通读this info page

标签: javascript json


【解决方案1】:

您可以使用 JSON 或 JavaScript object 而不是 array 来执行此操作,如下所示:

"data" : {
        "1000": "1000",
        "1200": "1200",
        "1400": "1400",
        "1600": "1600",
        "1800": "1800",
}

请注意,方括号已替换为大括号。这表示一个 JavaScript 对象,其中每个“键”都有一个“值”——例如,第一个键值对是 "1000""1000"。如果您想将此对象分配给 JavaScript 变量,您可以这样做:

var data = {
        "1000": "1000",
        "1200": "1200",
        "1400": "1400",
        "1600": "1600",
        "1800": "1800",
}

要访问这些值,您可以使用data["1000"] 访问属性"1000" - 这将返回值"1000"。您可以使用数字作为值而不是字符串,如下所示:

"data" : {
        "1000": 1000,
        "1200": 1200,
        "1400": 1400,
        "1600": 1600,
        "1800": 1800,
}

否则,您可以使用parseInt()parseFloat() 将字符串值转换为数字值:

parseInt(data["1000"]);

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    https://www.w3schools.com/js/js_json_stringify.asp

    var data = [
            "1000": "1000",
            "1200": "1200",
            "1400": "1400",
            "1600": "1600",
            "1800": "1800",
    ]
    
    var myJSON = JSON.stringify(data);
    

    【讨论】:

    • 这是句法废话。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 2020-04-12
    相关资源
    最近更新 更多