在php中我从pgsql获取一个数组:
$res = $db
->query( "SELECT myarray FROM arrays WHERE array_name=smth" )
->fetchRow();
exit (json_encode($res));
输入pgsql是整数[]
但在JS中我得到一个字符串“{1,2,3,...,}”的JSON 如何以“阵列方式”获取这些数据?
答案 0 :(得分:2)
PDO不进行任何类型的翻译,一切都以字符串形式返回。所以你必须使用explode()解析字符串并自己构建一个PHP数组。
答案 1 :(得分:1)
json_encode成功返回JSON编码的字符串。
将fetchrow()返回的值分配给变量并尝试在json_encode之前打印它。这将是一个阵列!!!
答案 2 :(得分:1)
如果要在JavaScript中将JSON解码为数组,只需使用函数eval()即可。但首先你应该确保它是一个JSON字符串。 查看更多:http://json.org/js.html
答案 3 :(得分:0)
您可以使用以下内容:
$php_array = json_decode( str_replace(
array( '[', ']', '{', '}' ),
array( '\u005B', '\u005D', '[', ']' ),
$your_pgsql_array
) );