Blade 中的 Laravel JSON 解析问题
Posted
技术标签:
【中文标题】Blade 中的 Laravel JSON 解析问题【英文标题】:Laravel JSON parsing issue in blade 【发布时间】:2018-02-21 16:10:30 【问题描述】:在刀片中分配 JSON 时会产生 javascript 语法错误。有两种不同的情况:
第一个案例
var jsonString = !! $json !!; //it produce syntax error
在某些情况下会产生语法错误
第二种情况
var jsonString = JSON.parse("!! $json !!");
null 或空时会产生错误
JSON 输入意外结束
有什么办法可以同时处理这两种情况吗?
【问题讨论】:
var jsonString : !! json_encode($json) !!,其中 $json 是一个数组。这种格式是表单刀片。当你想在 javascript 中使用相同的,var jsonString = jsonString; 【参考方案1】: var jsonString = JSON.parse("!! json_encode($json) !!");
它对我有用。
【讨论】:
已经是json字符串所以json_encode
会抛出异常
它不会抛出任何错误,我正在使用它并且它对我来说工作正常。您得到的错误与我得到的错误相同,并且运行良好。
同意,它会在你的情况下排列。
是的,我们也不需要解析【参考方案2】:
请这样尝试-
var json_res = "$json";
var jsonString = JSON.parse(json_res);
希望这会对你有所帮助。
【讨论】:
我觉得和JSON.parse("!! $json !!")
一样
请检查回复。【参考方案3】:
您可以使用这种方式实现此目的:
var json = null;
try
var json = JSON.parse('<?=str_replace('\'','\\\'', $json);?>');
catch(SyntaxError)
// Do something If the json string is not a valid json.
【讨论】:
以上是关于Blade 中的 Laravel JSON 解析问题的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Json Object Laravel Blade 中访问值