举报投诉联系我们 手机版 热门标签 名动网
您的位置:名动网 > json的键名为数字时的调用方式是什么 json的键名为数字时的调用方式

json的键名为数字时的调用方式是什么 json的键名为数字时的调用方式

2023-03-14 15:20 JSON教程

json的键名为数字时的调用方式是什么 json的键名为数字时的调用方式

json的键名为数字时的调用方式是什么

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript语法,但是它也可以在其他语言中使用。JSON的键名可以是字符串或数字。当键名为数字时,调用方式有所不同。

// 例如:
var json = {
    "1": "a",  // 键名为字符串
    2: "b"     // 键名为数字
};
// 调用方式: 
console.log(json["1"]); // 输出 a  (键名为字符串时使用双引号) 
console.log(json[2]);   // 输出 b  (键名为数字时不使用双引号) 

当 JSON 的键名是数字时,调用方式就要求不使用双引号。这是因为 JavaScript 在处理对象属性时会将属性作为一个标识符来处理。如果属性是一个有效的标识符(即不包含特殊字符或关键字并以一个有效的标识符开头)则不必使用引号来表明它是一个属性而不是一个方法或关键字。而 JSON 的键名都是有效的标识符,所以当 JSON 的键名是数字时就不必使用双引号来表明它是一个属性而不是一个方法或关键字。

json的键名为数字时的调用方式

本文介绍当JSON的键名为数字的时候应该使用的调用方式,对于键名为数字或者非正常变量字符时(如有空格),必须使用obj[xx]方式获取值。

代码如下:
<?php
//声明json数据
$array = array("result"=>array("90"=>"90队列","status"=>"成功"));
$json = json_encode($array);
$array1 = array("90"=>"90队列","status"=>"成功");
$json1 = json_encode($array1);
$phpjson = json_decode($json1,true);//第二个参数是true,表示把json数据转换为数组
//对于json键名是数字时,只能用数组方式处理$phpjson["90"];
?>
<!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<script type="text/javascript">

function test(){
//调用方式一
var data = "<?php echo $json?>";//php json数据,这里只能用单引号,因为php的json数据中有双引号了
data = eval("("+data+")");//js 解析json数据,主要是因为json数据用单引号后变为字符串了
alert(data["result"][90]);//对于数字需要用数组的方式访问
alert(data["result"].status);//对于非数字可以使用.的方式访问
//调用方式二
var data1 = <?php echo $json1?>;//php json数据,这里没有用单引号,因为直接是json数据
alert(data1[90]);//对于数字需要用数组的方式访问
alert(data1.status);//对于非数字可以使用.的方式访问
alert(data1["status"]);//还可以使用数组方式调用
//注:对于键名为数字或者非正常变量字符时(如有空格),必须使用obj[xx]方式获取值。
}
</script>
<input type="button" value="button" onclick="test();"/>
</body>
</html>

js获取json对象键名及值

遇到{"1",:"a"},{"2","b"}这种json对象,键名不固定,然后就不知道怎么取了,监视器下面是个object,没有什么属性方法。方法如下:

d = {"1": "a", "2": "b"}
for(i in d)
{
   i 就是键,d[i]就是值
}

真是难者不会,会者不难啊。

实例如下:
<script>
d = {"1": "a", "2": "b"}
function GetJArray(selIndex,arr){
 
   var index =0;
    for(i inarr)
    {
      if(index == selIndex){
         //i就是键,arr[i]就是值
        document.write(i + "," + arr[i] +"<br/>");
      }
      index +=1;
    }
}
GetJArray(1,d);
  </script>
阅读全文
以上是名动网为你收集整理的json的键名为数字时的调用方式是什么 json的键名为数字时的调用方式全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 名动网 mdwl.vip 版权所有 联系我们