gpt4 book ai didi

javascript - 使用 Normalizr 标准化我的嵌套 JSON

转载 作者:行者123 更新时间:2023-12-03 03:10:20 28 4
gpt4 key购买 nike

我从我的服务中获得以下 JSON:

[  
{
"name":"Voter1",
"id":1,
"votingCard":{
"verificationCodes":[
"3I08jA",
"3x0eyE",
"2_i69I"
],
"votingCode":"7zCOelDnjfBm7TtFydc4QodgonG",
"finalizationCode":"jyYu",
"confirmationCode":"4ACfcpBVH45iAXqg7hJ0tbEe_tV"
}
},
.....
{
"id":5,
"name":"Voter5",
"votingCard":{
"verificationCodes":[
"2c9I9a",
"3bEeEa",
"1gPKx2"
],
"confirmationCode":"4Z7wNG35VR2UMO6-W-0aZVEhbLM",
"votingCode":"6YQ2x-c8LXJZF05gh3zTajU79ct",
"finalizationCode":"S0CY"
}
}
]

并且希望将其标准化,因此需要一个投票卡列表和一个具有“votingCard”属性的选民列表,该属性通过 id 引用投票卡。

import { normalize, schema } from 'normalizr';

const votingCard = new schema.Entity('votingCard');

const voter = new schema.Entity('voter', {
votingCard: votingCard,
});

const votersSchema = new schema.Array(voter);


const mutations = {
SOCKET_SYNCVOTERS: (state, data) => {
var input = JSON.parse(data);
const normalizedData = normalize(input, votersSchema);
console.log(normalizedData);
},
};

但是,我没有得到我想要的:

为什么会有“未定义”?

enter image description here

最佳答案

我认为您需要在 VotingCard 实体的选项中指定一个“idAttribute” - 问题是,normalizr 在这些对象中找不到“id”字段,因此它们都被视为 id 未定义并被覆盖实体中的彼此。请参阅:https://github.com/paularmstrong/normalizr/blob/master/docs/api.md#schema

关于javascript - 使用 Normalizr 标准化我的嵌套 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46975430/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com