Javascript 返回结果中嵌套规范化数据的ID列表
例如,我有一个简单的JSON,如下所示:Javascript 返回结果中嵌套规范化数据的ID列表,javascript,json,normalization,normalize,normalizr,Javascript,Json,Normalization,Normalize,Normalizr,例如,我有一个简单的JSON,如下所示: { "id": "123", "author": { "id": "1", "name": "Paul" }, "title": "My awesome blog post", "comments": [ { "id": "324", "commenter": { "id": "2", "name": "Nicole" } },
{
"id": "123",
"author": {
"id": "1",
"name": "Paul"
},
"title": "My awesome blog post",
"comments": [
{
"id": "324",
"commenter": {
"id": "2",
"name": "Nicole"
}
},
{
"id": "325",
"commenter": {
"id": "3",
"name": "Alex"
}
}
]
}
在使用和模式进行规范化之后
我将获得以下标准化JSON:
{
result: "123",
entities: {
"articles": {
"123": {
id: "123",
author: "1",
title: "My awesome blog post",
comments: [ "324", "325" ]
}
},
"users": {
"1": { "id": "1", "name": "Paul" },
"2": { "id": "2", "name": "Nicole" },
"3": { "id": "3", "name": "Alex" }
},
"comments": {
"324": { id: "324", "commenter": "2" },
"325": { id: "325", "commenter": "3" }
}
}
}
在
normalizedData.result
中,我将只获得文章ID。但是如果我需要注释
或用户
的ID怎么办。基本上,我可以通过Object.keys()
获得它,可能还有其他方法,normalizer可以从API提供给我们,以便在规范化步骤中获得这些数据吗?我找不到关于它的任何东西。或者你能建议一些方法来做这件事,而不是自动的吗?因为Object.keys()
对我来说不太合适。因为你要规范化的值是一篇文章
,所以来自normalizer的结果
值将是文章的ID。正如你自己建议的,如果你需要不同的嵌套实体类型的ID,你必须使用类似Object.keys的东西(normalizedData.entities.comments)
{
result: "123",
entities: {
"articles": {
"123": {
id: "123",
author: "1",
title: "My awesome blog post",
comments: [ "324", "325" ]
}
},
"users": {
"1": { "id": "1", "name": "Paul" },
"2": { "id": "2", "name": "Nicole" },
"3": { "id": "3", "name": "Alex" }
},
"comments": {
"324": { id: "324", "commenter": "2" },
"325": { id: "325", "commenter": "3" }
}
}
}