JSON字符串解析打字稿

时间:2020-09-25 11:41:46

标签: typescript

我想在JSON对象中解析此字符串

{'rinosinusite': "['Grado di  Eosinophil: 0', 'Grado di  Mastocyte: 0', 'Grado di Neutrophil: 1', 'Prurito nasale', 'Prurito occhio', 'Ostruzione nasale sinistra', 'Rinorrea nasale sieroso', 'Febbre']", 'rinite micotica': "['Grado di  Eosinophil: 0', 'Grado di  Mastocyte: 0', 'Grado di Neutrophil: 1', 'Ostruzione nasale sinistra', 'Rinorrea nasale sieroso']", 'rinite medicamentosa': "['Grado di  Eosinophil: 0', 'Grado di  Mastocyte: 0', 'Grado di  Neutrophil: 0-1', 'Ostruzione nasale sinistra', 'Uso eccessivo di farmaci']", 'NARNE': "['Grado di Neutrophil: 1', 'Ostruzione nasale sinistra']", 'rinite irritativa': "['Grado di  Eosinophil: 0', 'Grado di  Mastocyte: 0', 'Grado di Neutrophil: 1', 'Ostruzione nasale sinistra']", 'poliposi antrocoanale': "['Grado di Eosinophil: 0', 'Grado di Mastocyte: 0', 'Grado di Neutrophil: 1', 'Ostruzione nasale sinistra']", 'condizione normale': "['Grado di  Eosinophil: 0', 'Grado di  Mastocyte: 0', 'Grado di  Neutrophil: 0-1']"}

但是我得到这个错误

SyntaxError: Unexpected token ' in JSON at position 1
at JSON.parse (<anonymous>)
at Socket.<anonymous> (C:\Users\SergioPC\Desktop\rhinocyt\src\controllers\diagnosis.js:508:38)
at Socket.emit (events.js:327:22)
at endReadableNT (_stream_readable.js:1221:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21)

如果我将上面的字符串发送给客户端,则显示为

"{'rinosinusite': \"['Grado di  Eosinophil: 0', 'Grado di  Mastocyte: 0', 'Grado di Neutrophil: 1', 'Prurito nasale', 'Prurito occhio', 'Ostruzione nasale sinistra', 'Rinorrea nasale sieroso', 'Febbre']\", 'rinite micotica': \"['Grado di  Eosinophil: 0', 'Grado di  Mastocyte: 0', 'Grado di Neutrophil: 1', 'Ostruzione nasale sinistra', 'Rinorrea nasale sieroso']\", 'rinite medicamentosa': \"['Grado di  Eosinophil: 0', 'Grado di  Mastocyte: 0', 'Grado di  Neutrophil: 0-1', 'Ostruzione nasale sinistra', 'Uso eccessivo di farmaci']\", 'NARNE': \"['Grado di Neutrophil: 1', 'Ostruzione nasale sinistra']\", 'rinite irritativa': \"['Grado di  Eosinophil: 0', 'Grado di  Mastocyte: 0', 'Grado di Neutrophil: 1', 'Ostruzione nasale sinistra']\", 'poliposi antrocoanale': \"['Grado di Eosinophil: 0', 'Grado di Mastocyte: 0', 'Grado di Neutrophil: 1', 'Ostruzione nasale sinistra']\", 'condizione normale': \"['Grado di  Eosinophil: 0', 'Grado di  Mastocyte: 0', 'Grado di  Neutrophil: 0-1']\"}\r\n"

我什至尝试将char替换为“ \ n”,但是replace函数似乎对此不起作用。

1 个答案:

答案 0 :(得分:0)

JSON中的字符串始终使用双引号(“)而不是单引号(')。https://www.json.org/json-en.html 另外,您还应该删除数组周围的引号([]而不是"[]"

您的JSON应该如下所示:

{"rinosinusite": ["Grado di  Eosinophil: 0"]}