javascript - 将 Json Javascript 格式转换为 PHP 可读格式

标签 javascript php json curl

我有一堆 json 文件需要读取并使用 PHP 将一些信息存储到数据库。

问题是这些 json 键没有引号,例如:

[{f:{v:11,ib:5,gh:"res",bfr:7,ju:7,ugy:8,ki:"y"...

PHP 无法将其识别为 json。但是,如果我获取此 json 文件并使用 JavaScript 函数“JSON.stringify”在浏览器中运行它,则数据将使用可在 PHP 中使用的引号进行格式化。

所以我编写了一个脚本来使用javascript解析这些文件,然后将其发布到PHP脚本以将其写入服务器。在浏览器中运行良好,但我无法自动执行此操作,因为curl 不运行javascript!!!

有没有办法将 json 格式(不带引号)转换为 PHP 可读格式?我试过this建议...正则表达式选项不起作用,我不知道如何使用 PEAR,即使我的服务器有 PEAR 版本:1.10.1 和 PHP 版本:5.4.45

最佳答案

这是我对您问题的解决方案。是的,它是正则表达式,但它有效。

$text = preg_replace(["/\\\\'/", '/("(.*?)"|(\w+))(\s*:\s*(".*?"|.))/s'], ["'", '"$2$3"$4'], $text);
$text = json_decode($text);

$text - 是格式错误的 json

对于最后一条评论,这应该有效:

$text = preg_replace(["/\\\\'/", '/("(.*?)"|(\w+))(\s*:\s*(".*?"|.))/s', '/((:\s*)(0\d+))/'], ["'", '"$2$3"$4', '$2"$3"'], $text);

关于javascript - 将 Json Javascript 格式转换为 PHP 可读格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40322773/

相关文章:

arrays - 快速将数组追加到数组

json - 从 json 获取 text[] 时出现问题

javascript - 将纯文本转换成<输入类型="text">

javascript - 使用瓦片重建/缓存谷歌地图供离线个人使用

javascript - 为什么我无法使用 jQuery 获取此输入字段的值?

javascript - PHP next($array) 和 Javascript

php - 如何查询MySQL并从PHP返回值到JQuery

php - 如何针对从数据库中获取的每条记录存储多个值并将其传递给其他页面

javascript - AJAX 加载后 jQuery Ready 事件不工作

javascript - 将 JSON 转换为字符串 JAVASCRIPT