Home >Backend Development >PHP Tutorial >javascript - json_encode输出

javascript - json_encode输出

WBOY
WBOYOriginal
2016-06-06 20:35:301532browse

php后台的一个数组
在json_encode后输出到前台,此时前台js用typeof判断应该是json对象类型是吧
那为什么会显示是string类型

==============更新下=====================
早上已经弄明白了,看了大家的回答~很多个点都是对的
1、 json_encode输出的就是字符串,
无论你是exit(xxx)还是echo xxx方式输出到前台的。
都需要用JSON.parse解析字符串变为对象
2、 输出前头部声明一下 ,header('Content-type: application/json'); 直接输出的就是object

回复内容:

php后台的一个数组
在json_encode后输出到前台,此时前台js用typeof判断应该是json对象类型是吧
那为什么会显示是string类型

==============更新下=====================
早上已经弄明白了,看了大家的回答~很多个点都是对的
1、 json_encode输出的就是字符串,
无论你是exit(xxx)还是echo xxx方式输出到前台的。
都需要用JSON.parse解析字符串变为对象
2、 输出前头部声明一下 ,header('Content-type: application/json'); 直接输出的就是object

你要是这么写是对象。

<code><script>
var obj = <?php echo json_encode(an_arr); ?>;
</script>
</code>

要是带了引号,那就是字符串。

<code><script>
var obj = '<?php echo json_encode(an_arr); ?>';
</script>
</code>

具体如何,还请题主上代码吧~

php 的 json_encode 输出就是字符串,你可以用javascript 的 JSON_parse 解析字符串为javascript对象

后台输出的是流,这里就失去了所有的与类型相关的,其实浏览器拿到的也是一个流,然后js引擎转换成基本类型,js是弱类型的,再有json似乎不能用typeof判断出来吧,json只是一种格式,一种规范

头部声明json,试一下。
header('Content-type: application/json');

你看看 json_encode 的输出,就知道 typeof 为什么是 string 了。
javascript - json_encode输出

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn