在我的NodeJS应用中,我收到来自kafka的消息,消息作为缓冲区到达,所以我这样做:
let myMsg = kafkaMessage.message.value.toString();
myMsg
现在为String
,以下字符串有问题:
"{
"Data": {
"a": undefined,
"b": undefined,
"c": {
"d": undefined,
"e": undefined,
"f": [
0,
0,
0
]
},
},
"g": {
"h": 598972702657,
"i": "abcd",
},
"time": "2018-12-24T13:18:22.6577119"
}"
我尝试执行JSON.parse(myMsg)
时失败,因为某些值未定义。
没有未定义的消息会成功传递
答案 0 :(得分:1)
此处解释JSON.parse()方法失败的原因:How does JSON.parse manage 'undefined'?
一种可能的解决方法是在调用JSON.parse()方法之前,将myMsg字符串中的所有“未定义”子字符串替换为“ null”。