如何将数值转换为字符串?

时间:2013-03-04 17:55:43

标签: php javascript json

我有一个JS函数,我传递了一些JSON。我用PHP生成这个JSON:

<?php

$array[] = array('hello','123','456');

echo json_encode($array);

?>

这给了我一些整洁的JS,如:

[["hello","123","456"]]

我的JS功能似乎喜欢这种格式。

我遇到的问题是我直接在JS中生成类似的数组,如下所示:

var json = [[text_var,number_var,number_var]]; // these vars established earlier in the code

var json_stringify = JSON.stringify(json);

我结束了这样的事情:

[["hello",123,456]]

所以基本上,它不是用引号封装我的数字。我不认为这很重要,但没有它们我会得到一个 Uncaught RangeError:超出最大调用堆栈大小

我尝试过用自己准备JSON的方法:

var json = '[["'+place_name+'","'+longitude+'","'+latitude+'"]]';

但是传递它也不喜欢 - 也许它不是感觉它是一个JSON var,我尝试通过JSON.stringify解析它但我在每个引用之前都得到了反斜杠而它没有那样的。

我的虚弱心灵在这里看不到什么?

编辑:我的PHP数组在另一个数组中,因此[[“hello',”123“,”456“]]的结果而不是单括号[]

2 个答案:

答案 0 :(得分:1)

JSON支持数字(不带引号)和字符串(带引号)。要强制它使用字符串,请尝试:

var json = [[text_var,number_var + "",number_var + ""]]; 

答案 1 :(得分:1)

将数字转换为字符串:

var json = [[text_var,number_var.toString(),number_var.toString()]];