javascript - json_encode输出

WBOY
WBOYオリジナル
2016-06-06 20:35:301532ブラウズ

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输出

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。