如何将json对象从PHP转换为Javascript数组
背景信息 我需要将javascript数组“传递”给其他人编写的某个前端逻辑。在查看他们的代码时,我看到他们正在创建如下虚拟数据:如何将json对象从PHP转换为Javascript数组,javascript,php,Javascript,Php,背景信息 我需要将javascript数组“传递”给其他人编写的某个前端逻辑。在查看他们的代码时,我看到他们正在创建如下虚拟数据: <script> //define some sample data var tabledata = [ {id:1, name:"JohnDoe", company:"Acme", email:"jdoe@acme.com", title:"CEO", regtype:"12345"}, {id:2, name:"JaneDoe",
<script>
//define some sample data
var tabledata = [
{id:1, name:"JohnDoe", company:"Acme", email:"jdoe@acme.com", title:"CEO", regtype:"12345"},
{id:2, name:"JaneDoe", company:"Widgets Inc", email:"janedoe@hotmail.com", title:"Programmer", regtype:"12345"}
];
{
"items": [{
"id": 2089025,
"first_name": "Devon",
"last_name": "Ackerman"
}, {
"id": 2163367,
"first_name": "Ryan",
"last_name": "Acuff"
}]
}
问题
我不知道如何在PHP中转换/转换它,使其最终成为Javascript中的数组
代码
这是到目前为止我在PHP中使用的代码,a)证明我得到了一个字符串b)尝试将其转换为json对象
$json_obj = json_decode($response, true);
//echo json_last_error();
echo gettype($response);
echo gettype($json_obj);
第一个gettype()返回“string”。第二个返回“array”
几行之后,我完成了PHP部分,并执行以下操作:
<script type="text/javascript">
// pass PHP variable declared above to JavaScript variable
var tabledata = <?php echo ($json_obj) ?>;
console.log(typeof(tabledata))
console.log(tabledata)
有人能给我指出正确的方向吗
谢谢。var tabledata=;
var tabledata = <?php echo ($json_obj) ?>;
应该是
var tabledata = <?php echo json_encode($json_obj) ?>;
var tabledata=;
这将把它转换成json,当页面加载时,浏览器将为您自动解析它
在您的例子中,因为您已经开始使用编码值,所以可以直接使用它
var tabledata = <?php echo $response ?>;
var tabledata=;
或者我相信PHP有一个快捷方式,你也可以这样做
var tabledata = <?= $response ?>;
var tabledata=;
json\u decode
将json文本转换为PHP对象。假设您从数据库中得到的是一个关联数组,您需要对其调用json\u encode
代码>确定,只是$response中嵌入了一个“items”数组。所以我只想要项目中的东西。既然它们正在解码$response
(JSON字符串),为什么不只是回显呢?它们也可以这样做。但是,如果将来有一个示例,说明他们正在处理的内容不是以已编码的值开始的,这将让他们知道如何执行该操作。var tabledata=
是我要做的事情如何才能访问“items”部分?我试过$json_obj->items和$json_obj=>items,我想我找到了答案。我需要做json_编码($json_obj['items'))
var tabledata = <?= $response ?>;