【问题标题】:Laravel JSON parsing issue in bladeBlade 中的 Laravel JSON 解析问题
【发布时间】: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;

标签: javascript json laravel blade


【解决方案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.
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 2020-07-02
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多