我无法在不修改值的情况下将字符串转换为对象。
这是PHP代码:
<?php foreach($customauto as $customautos)
{
$tempTags[] = $customautos->firstname;
}
?>
dump($tempTags);
因此,当我转储该值时,我得到如下结果。
string '["New Client","LIC CLIENT","TEST","valan","Mevis","xczx","dfgfd","test"]'
显然它表明它是一个字符串。
在javascript函数中我使用json_encode。
var availableTags = '<?php echo json_encode($tempTags); ?>';
我提醒变量检查我得到的变量值。
alert(availableTags);
我得到的值如下,这是完美的。
["New Client","LIC CLIENT","TEST","valan","Mevis","xczx","dfgfd","test"]
所以我尝试使用该变量进行自动完成。但它不起作用。 所以我提醒检查变量的类型。
alert(typeof availableTags);
我得到字符串类型。
所以我使用了JSON.parse函数
alert(JSON.parse(availableTags));
并将其转换为对象,但括号和双引号是无效的
New Client,LIC CLIENT,TEST,valan,Mevis,xczx,dfgfd,test
那么如何保持括号和双引号不变并将字符串转换为对象。
答案 0 :(得分:0)
不会省略所有括号和双引号。
alert
窗口无法将对象显示为JSON(您可以使用console.log()
代替)。
availableTags = JSON.parse(availableTags)
将完成这项工作并创建一个对象,以便您可以使用它:)