具有未定义的JSON.parse字符串

时间:2018-12-24 14:22:21

标签: node.js json parsing buffer kafka-consumer-api

在我的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)时失败,因为某些值未定义。 没有未定义的消息会成功传递

1 个答案:

答案 0 :(得分:1)

此处解释JSON.parse()方法失败的原因:How does JSON.parse manage 'undefined'?

一种可能的解决方法是在调用JSON.parse()方法之前,将myMsg字符串中的所有“未定义”子字符串替换为“ null”。