>백엔드 개발 >PHP 튜토리얼 >javascript - json_encode输出

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으로 문의하세요.