echo json_encode(array('out' => $out, 'total' => $total ));
嗨,我正在使用上述PHP代码获取以下JSON数据。
var result = {"out":"[{\"tax\":\"SGST@9%\",\"percent\":7.75},{\"tax\":\"CGST@9%\",\"percent\":7.75},{\"tax\":\"SGST@2.5%\",\"percent\":3.11},{\"tax\":\"CGST@2.5%\",\"percent\":3.11}]","total":210}
我需要将元素放在单独的变量中,如下所示
var out = [{"tax":"SGST@9%","percent":7.75},{"tax":"CGST@9%","percent":7.75},{"tax":"SGST@2.5%","percent":3.11},{"tax":"CGST@2.5%","percent":3.11}];
var total = 210;
到目前为止,我尝试使用以下代码。
result = JSON.stringify(result);
result = result.replace(/\\/g, "");
var obj3 = JSON.parse(result);
alert(obj3[0]);
但是我没有得到任何输出。
答案 0 :(得分:0)
基本问题是$out
是以JSON开头的(因此最终进行了双重编码),但是在上下文中以JSON表示是没有意义的。
您可以在将更广泛的数组转换为JSON之前将其转换为PHP数据结构:
$out = json_decode($out, true);
$json = json_encode(array('out' => $out, 'total' => $total ));
echo "var result = $json;";
如果您不想使用PHP,则可以使用JavaScript解决该问题:
$out = json_decode($out, true);
$json = json_encode(array('out' => $out, 'total' => $total ));
echo "var result = $json;";
?>
var out_json = result.out;
var out = JSON.parse(out_json);
答案 1 :(得分:-1)
在Ajax设置中,添加myTuple = (1, 2, 3, *anotherlist)
tuple()
然后在您的成功功能中,
JSON
答案 2 :(得分:-1)
尝试一下
result = result.replaceAll("\\\\", "");
代替
result = result.replace(/\\/g, "");