为什么有些JSON数组在值中有括号?

时间:2017-01-25 05:32:29

标签: javascript arrays json

我有两个来自ebay();etsy();的不同JSON回复 Etsy JSON数组:[{"listing_id":123,"title":"etsy","..."}]
Ebay JSON数组:[{"itemId":["123"],"title":["ebay"],..,}]
Full Ebay and Etsy JSON result shown here
问题:
1.为什么关键项ID的值有括号?
2.是否可以组合两个阵列并将它们一起显示?是否有其他步骤可以使用/不使用括号来检索值?

3 个答案:

答案 0 :(得分:5)

Etsy JSON数组:[{"listing_id":123,"title":"etsy","..."}] 这里,listing_id = Integer和title = String

Ebay JSON数组:[{"itemId":["123"],"title":["ebay"],..,}] 这里,itemId = string的数组,title = string的数组

所以回答你的问题,

  1. itemId是一个字符串数组,这就是为什么它有值的括号。

  2. 是的,可以组合两个数组。您需要创建新结构来存储公共值。

答案 1 :(得分:1)

访问嵌套数据结构

嵌套数据结构是引用其他数组或对象的数组或对象,即其值是数组或对象。可以通过连续应用点或括号表示来访问此类结构。

以下是一个例子:

const data = {
code: 42,
items: [{
    id: 1,
    name: 'foo'
}, {
    id: 2,
    name: 'bar'
}]

};

我们假设我们想要访问第二个项目的名称。

以下是我们如何逐步完成的工作:

我们可以看到数据是一个对象,因此我们可以使用点表示法访问其属性。可以按如下方式访问items属性:

data.items

值是一个数组,要访问它的第二个元素,我们必须使用括号表示法:

data.items[1]

此值是一个对象,我们再次使用点表示法来访问name属性。所以我们最终得到:

const item_name = data.items[1].name;

答案 2 :(得分:1)

JSON格式遵循一些符号。在Json [] 表示值列表或值数组具有序列0到数组长度的索引, {} 也包含值数组但这里索引被称为键这些键是任何一种字符串或随机数。

这里有问题"itemId":["123"],"title":["ebay"] itemid和title的值都是值列表。因此,在访问时您需要指定需要显示的值。喜欢返回第一个值的 itemId [0] 。如果没有值列表,您可以使用itemId直接访问它。

是的,您可以将2个数组和显示组合在一起。这取决于你的组合逻辑。

实施例: -

Etag = [{"listing_id":123,"title":"etsy","..."}]
Access It as:-
Etag[0].listing_id #123
Etag[0].title #etsy

Etag = [{"listing_id":[123],"title":["etsy"],"..."}]
Access It as:-
Etag[0].listing_id[0] #123
Etag[0].title[0] #etsy