Javascript类型从字符串转换为对象而不修改值

时间:2015-12-04 09:18:33

标签: javascript php json regex

我无法在不修改值的情况下将字符串转换为对象。

这是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

那么如何保持括号和双引号不变并将字符串转换为对象。

1 个答案:

答案 0 :(得分:0)

不会省略所有括号和双引号。

alert窗口无法将对象显示为JSON(您可以使用console.log()代替)。

availableTags = JSON.parse(availableTags)将完成这项工作并创建一个对象,以便您可以使用它:)