JSON.parse使用php生成语法错误';s json_编码方法

JSON.parse使用php生成语法错误';s json_编码方法,php,javascript,Php,Javascript,我有一个变量$data['tree'],它使用模型中的get\u tree($id)方法从数据库中获取行数组 在我的视图中,jsi使用 var dbTree = JSON.parse(<?php echo $tree; ?>); 我不认为这有什么问题,但可以帮我解决。JSON.parse应该与字符串一起使用,而不是对象 或者你甚至不需要做任何事情。它已经是一个对象了 就像 var dbTree = <?php echo $tree; ?>; var-dbTree=;

我有一个变量
$data['tree']
,它使用模型中的
get\u tree($id)
方法从数据库中获取行数组

在我的视图中,jsi使用

var dbTree = JSON.parse(<?php echo $tree; ?>);

我不认为这有什么问题,但可以帮我解决。

JSON.parse应该与字符串一起使用,而不是对象

或者你甚至不需要做任何事情。它已经是一个对象了

就像

var dbTree = <?php echo $tree; ?>;
var-dbTree=;

JSON.parse应与字符串而不是对象一起使用

或者你甚至不需要做任何事情。它已经是一个对象了

就像

var dbTree = <?php echo $tree; ?>;
var-dbTree=;
只需去掉解析函数


只要去掉parse函数。

就好像连
null
都必须用引号括起来。您试图解析的是JavaScript对象,而不是JSON。只需去掉
JSON.parse()
调用。错误是因为您的对象被转换为字符串
“[object object]”
,该字符串被视为数组结构,但第一个成员是无效字符
o
。您是对的,必须解析JSON。但是,如果在JavaScript源代码中注入JSON,那么JSON将被解释为对象文本,而对象文本不必也不能被解析。但是,请不要错误地将对象文本称为“JSON对象”。似乎即使
null
也必须用引号包装。您试图解析的是JavaScript对象,而不是JSON。只需去掉
JSON.parse()
调用。错误是因为您的对象被转换为字符串
“[object object]”
,该字符串被视为数组结构,但第一个成员是无效字符
o
。您是对的,必须解析JSON。但是,如果在JavaScript源代码中注入JSON,那么JSON将被解释为对象文本,而对象文本不必也不能被解析。但是,请不要错误地将对象文本称为“JSON对象”;当我取下那块石头的时候;我得到了一个意想不到的标识,当我这样做时,我得到了一个意想不到的标识;当我取下那块石头的时候;我得到了一个意外的标识符
var dbTree = {"id":"2","name":"sean","userId":"51fbd3f3a8f2ba1b5b000002","accountId":"51fbd3fca8f2ba1b5b000003","createdAt":"2013-08-02 16:09:34","numRuns":null,"contactExport":"","updatedAt":"2013-08-02 20:15:14","deployed":"1","template":"0","conversation_type":"Conversation"};
// Test it works
console.log(dbTree);