JSON,解析新行,打破结构
我有一个JSON数据,它一直工作到今天,它包含一些换行符和空格。尽管我试图替换换行符和空格,但它并没有将其解析为JSON。有人能帮我吗 这是中断的数据,它将其作为普通字符串读取JSON,解析新行,打破结构,json,parsing,Json,Parsing,我有一个JSON数据,它一直工作到今天,它包含一些换行符和空格。尽管我试图替换换行符和空格,但它并没有将其解析为JSON。有人能帮我吗 这是中断的数据,它将其作为普通字符串读取 {"reject_reason":"No","id":"11","address":"xxxx xxx ","telephone":"05555555545","time":"July 24th 2018, 12:16","price":"14.4","type":"Delivery","customer":"1", "
{"reject_reason":"No","id":"11","address":"xxxx xxx ","telephone":"05555555545","time":"July 24th 2018, 12:16","price":"14.4","type":"Delivery","customer":"1", "name":"xx xxx","postcode":"xxxx","message":"SECOND LEFT ON SALT HILL
CALL WHEN OUTSIDE ","payment":"Cash Payment","customerId":"153"}
第一次编辑:我没有将其作为代码发布的原因,因为它没有换行符。这对移动用户来说更好,但很抱歉,你必须像世界上大多数人一样,毫无疑问地遵守规则。无论如何
编辑答案以备有人需要。我首先尝试了JSON.parse和stringify替换,但不知何故,它不起作用。解决方案->
try{ myData2 = myData2.replace(/\r?\n|\r/g, " ");
myData2 = JSON.parse(myData2);
}catch(e){}
您需要将新行替换为“\n”和“\r”,并且这些行需要转义以完全json有效(实际上不是真的..\r\n\是json有效的,但需要双重转义才能到达最终目的地以正确地显示新行) 例如
{
"reject_reason": "No",
"id": "11",
"address": "xxxx xxx ",
"telephone": "05555555545",
"time": "July 24th 2018, 12:16",
"price": "14.4",
"type": "Delivery",
"customer": "1",
"name": "xx xxx",
"postcode": "xxxx",
"message": "SECOND LEFT ON SALT HILL\\r\\n\\r\\nCALL WHEN OUTSIDE ",
"payment": "Cash Payment",
"customerId": "153"
}
你到底想要什么——有效的JSON等价物是什么?因为换行不是唯一的问题;您在错误的位置有许多逗号和引号。您应该修复编写JSON的部分,而不是读取JSON的部分。@dashmug想知道哪些部分可以更具体?@obsidiange想知道哪些部分?我已经这样使用很长时间了,直到这一次我才发现任何问题。文本换行符在json字符串中无效。无论生成“json”的是什么,都需要修复。在将json写入数据库之前,必须先进行修复。否则,您在数据库中存储的JSON无效。@dashmug True,但问题是如何解析它,而不是如何编写它。我的评论是我对OP的建议。他必须在将其写入数据库之前应用您的修复。不是我否决了你的答案。
{
"reject_reason": "No",
"id": "11",
"address": "xxxx xxx ",
"telephone": "05555555545",
"time": "July 24th 2018, 12:16",
"price": "14.4",
"type": "Delivery",
"customer": "1",
"name": "xx xxx",
"postcode": "xxxx",
"message": "SECOND LEFT ON SALT HILL\\r\\n\\r\\nCALL WHEN OUTSIDE ",
"payment": "Cash Payment",
"customerId": "153"
}