【发布时间】:2015-08-18 11:12:07
【问题描述】:
这个问题与提到的重复答案/问题完全无关......
我有超过 1,000 个 JavaScript 格式的大型列表...
var plugins = [
{
name: "Roundabout - Interactive, turntable-like areas",
url: "http:\/\/fredhq.com/projects/roundabout/",
tag: "slide"
},
{
name: "Slides - Simple slideshow plugin for jQuery",
url: "http://slidesjs.com/",
tag: "slide"
}
......lots more
]
我的目标是将它们导入到这样的 PHP 数组中......
Array
(
[0] => Array
(
[name] => Roundabout - Interactive, turntable-like areas/
[url] => http://fredhq.com/projects/roundabout/
[tag] => slide
)
[1] => Array
(
[name] => Slides - Simple slideshow plugin for jQuery
[url] => http://slidesjs.com/
[tag] => slide
)
[2] => Array
(
[name] => Orbit - jQuery Image Slider Plugin
[url] => http://www.zurb.com/playground/jquery_image_slider_plugin/
[tag] => slide
)
)
我尝试使用 PHP 的 json_decode() 函数,但是源 JS 没有包含在 " 中的键,所以它不起作用。
当我在键和一些反斜杠周围手动添加" 时,PHP json_decode() 可以工作......
$json = '[{
"name": "Roundabout - Interactive, turntable-like areas/",
"url": "http:\/\/fredhq.com/projects/roundabout/",
"tag": "slide"
},
{
"name": "Slides - Simple slideshow plugin for jQuery",
"url": "http:\/\/slidesjs.com\/",
"tag": "slide"
},
{
"name": "Orbit - jQuery Image Slider Plugin",
"url": "http:\/\/www.zurb.com/playground/jquery_image_slider_plugin/",
"tag": "slide"
}]';
echo '<pre>';
print_r(json_decode($json, true));
echo '</pre>';
但问题是我的大列表没有用引号括起来的键,所以我需要一种方法来自动化它。
由于到目前为止我的尝试都失败了,有人可以帮我实现最终目标吗?
【问题讨论】:
-
您正在尝试解析 Javascript 源代码?为什么数据只能作为 Javascript 源代码提供?你不能以实际的 JSON 或任何其他格式获取数据吗?
-
如果在 PHP 函数
json_decode之前在对象中应用JSON.stringify(obj),它会起作用。 -
@JasonDavis 你如何将 JSON 发送到 PHP?
-
您不能简单地通过实际的 Javascript 运行它并让 it 生成您需要的输出吗?即使这只是 JSON 编码一次?
-
现在数据只是在一个 JS 文件中,所以我不会将它发送到 PHP。除了我将其存储在 PHP 变量中并将其转换为 PHP 数组的测试之外。我只需要处理数据的 JS 文件 1 次,这样我的新 PHP 后端就可以将 JS 对象中的所有旧记录插入数据库
标签: javascript php json