Javascript 带有json.stringify replacer函数的嵌套键
我有以下代码:Javascript 带有json.stringify replacer函数的嵌套键,javascript,Javascript,我有以下代码: const result = JSON.stringify({ drivingLicence: { documentNumber: '3333', countryOfIssue: 'UNITED_KINGDOM', regionOfIssue: 'UK' }, mothersMaidenName: 'AAAAA', nationalIdentityCard: {}, nationalInsuranceNumber: 'NW 26 52
const result = JSON.stringify({
drivingLicence: {
documentNumber: '3333',
countryOfIssue: 'UNITED_KINGDOM',
regionOfIssue: 'UK'
},
mothersMaidenName: 'AAAAA',
nationalIdentityCard: {},
nationalInsuranceNumber: 'NW 26 52 66 A',
passport: {}
},(key, value) =>{
console.log(typeof key + ' ' + key);
return value;
});
我得到这个输出:
console.log src/components/Submission/submissionTransformer.test.js:31
string
console.log src/components/Submission/submissionTransformer.test.js:31
string drivingLicence
console.log src/components/Submission/submissionTransformer.test.js:31
string documentNumber
console.log src/components/Submission/submissionTransformer.test.js:31
string countryOfIssue
console.log src/components/Submission/submissionTransformer.test.js:31
string regionOfIssue
console.log src/components/Submission/submissionTransformer.test.js:31
string mothersMaidenName
console.log src/components/Submission/submissionTransformer.test.js:31
string nationalIdentityCard
console.log src/components/Submission/submissionTransformer.test.js:31
string nationalInsuranceNumber
console.log src/components/Submission/submissionTransformer.test.js:31
string passport
我不明白第一个输出来自哪里
它说密钥是一个空字符串。这是从哪里来的?这是JSON.stringify的正常行为。发件人:
replacer
参数可以是函数或数组。作为一个函数,它接受两个参数,键和被字符串化的值。在其中找到密钥的对象作为替换者的this参数提供最初,它会被一个表示被字符串化对象的空键调用,然后它会被字符串化对象或数组上的每个属性调用
从:
?SerializeJSONProperty(空字符串,包装)
李>
这就是
JSON.stringify
返回的结果。需要一个键
和一个值
,它使用替换函数将其转换为JSON。无法解释为什么它会传递一个空键和正在字符串化的对象。我对此感到非常困惑。谢谢你的澄清是的,我真的不明白为什么那会有用。