Php javascript中的Json解码
我已将所需数据编码到json对象中,但我想将json对象解码到javscript数组中,我的json编码对象是:Php javascript中的Json解码,php,arrays,json,Php,Arrays,Json,我已将所需数据编码到json对象中,但我想将json对象解码到javscript数组中,我的json编码对象是: {"product_id":"62","product_quantity":"65"} 但是,我希望在java脚本中使用此json,并希望它可用于java脚本数组 因此,如果我这样做: var arr = new Array() arr = <?php json_decode('$json_object',TRUE); ?>; var arr=new Array()
{"product_id":"62","product_quantity":"65"}
但是,我希望在java脚本中使用此json,并希望它可用于java脚本数组
因此,如果我这样做:
var arr = new Array()
arr = <?php json_decode('$json_object',TRUE); ?>;
var arr=new Array()
arr=;
但是,当我检查我的页面源时,我得到null,即arr=
如何将转换为数组的json对象分配给java脚本数组?
进一步了解如何从java脚本数组访问json对象?
json\u decode
返回一个PHP数据结构。如果要将其序列化为JavaScript数据结构,则必须将其通过json\u encode
(然后实际上是echo
返回的字符串)
请注意,json\u encode
输出一个JavaScript数据结构,可以安全地注入HTML文档中的
元素。并非所有的JSON都可以安全地使用(PHP添加了额外的转义序列,并将转换普通字符串、数字、空值等(这些本身不是合法的JSON)
请注意,如果要立即将其他内容分配给arr
,则创建新数组并将其分配给arr
也没有意义
还请注意,'$json\u object'
将为您提供一个以$
字符开头的字符串,然后是变量的名称。PHP中的单引号字符串不会插入
var arr;
arr = <?php echo json_encode(json_decode($json_object,TRUE)); ?>;
将转换为PHP关联数组或JavaScript对象(不是数组)
因此,考虑到这一点:
<?php
$json_object = '{"product_id":"62","product_quantity":"65"}';
?>
<script>
var arr;
arr = <?php echo json_encode(json_decode($json_object,TRUE)); ?>;
alert(arr.product_id);
</script>
var-arr;
arr=;
警报(arr.product\U id);
您将获得以下输出:
<script>
var arr;
arr = {"product_id":"62","product_quantity":"65"};
alert(arr.product_id);
</script>
var-arr;
arr={“产品标识”:“62”,“产品数量”:“65”};
警报(arr.product\U id);
运行时会发出警报。
json\u decode
返回一个PHP数据结构。如果要将其序列化为JavaScript数据结构,则必须将其通过json\u encode
(然后实际上是echo
返回的字符串)
请注意,json\u encode
输出一个JavaScript数据结构,可以安全地注入HTML文档中的
元素。并不是所有的json都可以安全地使用它(PHP添加了额外的转义序列,并将转换普通字符串、数字、空值等(它们本身不是合法的json)
请注意,如果要立即将其他内容分配给arr
,则创建新数组并将其分配给arr
也没有意义
还请注意,'$json\u object'
将为您提供一个以$
字符开头的字符串,然后是变量的名称。PHP中的单引号字符串不会插入
var arr;
arr = <?php echo json_encode(json_decode($json_object,TRUE)); ?>;
将转换为PHP关联数组或JavaScript对象(不是数组)
因此,考虑到这一点:
<?php
$json_object = '{"product_id":"62","product_quantity":"65"}';
?>
<script>
var arr;
arr = <?php echo json_encode(json_decode($json_object,TRUE)); ?>;
alert(arr.product_id);
</script>
var-arr;
arr=;
警报(arr.product\U id);
您将获得以下输出:
<script>
var arr;
arr = {"product_id":"62","product_quantity":"65"};
alert(arr.product_id);
</script>
var-arr;
arr={“产品标识”:“62”,“产品数量”:“65”};
警报(arr.product\U id);
运行时会发出警报。您可以将JSON对象推入javascript数组,并在数组中迭代,选择所需的适当字段。 修正了
var json = {"product_id":"62","product_quantity":"65"};
var array = new Array();
array.push(json);
for(var i = 0; i < array.length; i++){
console.log(array[i].product_id)
}
var json={“产品标识”:“62”,“产品数量”:“65”};
var数组=新数组();
array.push(json);
对于(var i=0;i
您可以将JSON对象推入javascript数组,并在数组中迭代,选择所需的适当字段。
修正了
var json = {"product_id":"62","product_quantity":"65"};
var array = new Array();
array.push(json);
for(var i = 0; i < array.length; i++){
console.log(array[i].product_id)
}
var json={“产品标识”:“62”,“产品数量”:“65”};
var数组=新数组();
array.push(json);
对于(var i=0;i
好的,首先:
PHP中生成的json字符串可以在Javascript中作为对象使用。如果将变量声明为数组开始,则可能会发生冲突
无论如何,这应该是可行的:
<?php
$error_fields_structure = array(
'product_id' => 4531
,'main_product_quantity' => 2
);
$json_object = json_encode($error_fields_structure);
?>
<html>
<head>
<script>
var jsonstring = <?php echo (isset($json_object) ? $json_object : 'nothing here'); ?>
for( var i in jsonstring ){
alert( i +' == ' +jsonstring[i] );
}
</script>
</head>
<body>
</body>
</html>
var jsonstring=
for(jsonstring中的变量i){
警报(i+'='+jsonstring[i]);
}
好的,首先:
PHP中生成的json字符串可以在Javascript中作为对象使用。如果将变量声明为数组开始,则可能会发生冲突
无论如何,这应该是可行的:
<?php
$error_fields_structure = array(
'product_id' => 4531
,'main_product_quantity' => 2
);
$json_object = json_encode($error_fields_structure);
?>
<html>
<head>
<script>
var jsonstring = <?php echo (isset($json_object) ? $json_object : 'nothing here'); ?>
for( var i in jsonstring ){
alert( i +' == ' +jsonstring[i] );
}
</script>
</head>
<body>
</body>
</html>
var jsonstring=
for(jsonstring中的变量i){
警报(i+'='+jsonstring[i]);
}
ok,即使我只是直接分配arr=我似乎无法访问arrayQuentin我尝试了,但在页面源代码中,我还是得到了arr,因为nullwill不会echo json\u encode(json\u decode($json\u object,TRUE))
与echo$json_object;
?@DaveRandom相同-对于示例中的特定输入,它将是。请注意我关于PHP添加额外转义的评论(答案的第2段)。如果输入是{“product_id”:“62”,“product_数量”:“}
那么输出将是{“product_id”:“62”,“product_数量”:“}
。如果您将前一块JSON直接放入
元素,它将终止脚本的中间表达式。好的,即使我直接分配arr=我似乎无法访问arrayQuentin,我尝试了,但仍然在页面源代码中,我得到了arr,因为null不会响应JSON\u编码(JSON\u解码($JSON\u对象,TRUE));
与echo$json_object;
?@DaveRandom相同-对于示例中的特定输入,它将是。请注意我关于PHP添加额外转义的评论(答案的第2段)。如果输入是{“product_id”:“62”,“product_quantity”:“}
那么输出将是{“product_id”:“62”,“product_qua