Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSON,解析新行,打破结构_Json_Parsing - Fatal编程技术网

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", "

我有一个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", "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"
}