Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.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
Javascript PHP将JSON字符串转换为对象或数组_Javascript_Php_Json_Object - Fatal编程技术网

Javascript PHP将JSON字符串转换为对象或数组

Javascript PHP将JSON字符串转换为对象或数组,javascript,php,json,object,Javascript,Php,Json,Object,我知道如果我在谷歌上搜索这个,你会得到很多回击,我花了两天的时间试图找出发生了什么,但都没有成功 所以,我使用的是Wordpress,但不确定它是否与我的问题相关,我在存储中有一个有效的JSON字符串,我需要将它放入PHP中,然后放入一个对象 JSON字符串是PHP中的一个对象,我对它进行了转换,因为我在sessionStorage中需要它,所以下面是我在PHP中转换它的方式: $encodedTime = json_encode($time); $encodedTime = str_repla

我知道如果我在谷歌上搜索这个,你会得到很多回击,我花了两天的时间试图找出发生了什么,但都没有成功

所以,我使用的是Wordpress,但不确定它是否与我的问题相关,我在存储中有一个有效的JSON字符串,我需要将它放入PHP中,然后放入一个对象

JSON字符串是PHP中的一个对象,我对它进行了转换,因为我在sessionStorage中需要它,所以下面是我在PHP中转换它的方式:

$encodedTime = json_encode($time);
$encodedTime = str_replace("'", "", $encodedTime);
然后将其加载到元素中:

<a class="button" href="/?page_id=714" name="viewButton" rel='<?php echo $encodedTime ?>'>View</a>
这已经用JSONLint进行了验证

以下是PHP代码:

$time = "<script>document.write(time)</script>";
如果我尝试
json\u encode
它会给我有趣的字符

如果我尝试使用以下命令将其设置为对象:

$time = (object) json_decode("<script>document.write(time)</script>", true);
$time=(object)json_解码(“document.write(time)”,true);
它给了我:

stdClass对象()

$time=(对象)“document.write(time)”

stdClass对象([scalar]=>{uuid:“1788-417f-b5e6-970bab44ec37”,“low”:2629,“run”:5046793,“contact:“a0eb0-4977-ad10-af7aecf4ef80”,“completed”:true,“values:[{”category:“{”base:“Great”,“eng:”Great“}”,node:“f85ed85-495e-8eaf-1e6cfdbadf97”,“time:“2015-10-12T11:28:13.371Z”,“text:“Great thanks:”非常感谢”,“rule""”“value:“Great”,“Great”,“Great”,“value:”标签”:”“响应1”},“步骤”:[{“节点”:“83e332e0-a45-a4f6-cee688f9395b”,“到达时间”:“2015-10-12T11:27:43.866Z”,“左上”:“2015-10-12T11:27:44.052Z”,“文本”:“您好!早上好?”,“类型”:“A”,“值”:“无”},{“节点”:“f85ed8a8-5e-8eaf-1e6cfdbadf97”,“到达时间”:“2015-10-121:27:44.05Z”,“左上”,“左上”,“非常感谢”;“文本”:“2015-10-T113:37R”:值“:”Great“},{”node“:”424912da-e680-432d-877c-30711736F98“,”到达“:”2015-10-12T11:28:13.374Z“,”left_on“:”2015-10-12T11:28:13.477Z“,”文本“,”祝您愉快“,”键入“:”a“,”值“:”无“,”创建的“:”2015-10-12T11:27:43.721Z”,“修改的“:”2015-10-12T11:28:13.48Z“,”过期的“,”空的“,”运行时“:”空的“:”空的“:”运行时“:”12-10@11小时“})

我可以选择使用Javascript并使用这些信息,但我确实需要在PHP中使用这些信息,因为还有更多的工作要做


有人能帮我指出哪里出了问题,为什么出了问题吗?

使用PHP代码无法获得javascript变量值。它们是不同的东西。如果你想了解更多,我建议你阅读

那么…怎么做呢?
如果你想在后端使用这些数据,你需要创建一个AJAX请求,正如RambRaider所说。如果你在前端需要它,你可以简单地使用解析json数据。

php在javascript之前执行,因此php代码看不到javascript
文档的输出。写
@RamRaider我如何正确地把握时机?通过ajax将JSON对象发送到php脚本,这样就可以使用HTML链接到一个页面,同时Javascript中的ajax也可以链接到它链接的同一个页面?除此之外:到底为什么要使用这行代码:
$encodedTime=str_replace(“'”,“”,$encodedTime);
?修改json字符串,使其不再是有效的json!谢谢lago。正如我所说的,我不能使用javascript,因为还有很多事情要做。这只是其中的一个,也是五个函数中的第一个,在其他函数中使用了它的不同部分。我成功地对它进行了json.parse,并且成功:)
$time = json_decode("<script>document.write(time)</script>", true); // PHP Code
print_r($time);
$time = (object) json_decode("<script>document.write(time)</script>", true);