json键值对的[] 中括号的使用

  在写代码的时候,我往往因为一个小基础知识点未能掌握好 ,而耗费很多时间。

这次在使用json格式的时候,也遇到这么一个问题,先让我总结一个知识点吧。

 

var LangShen = {"Name":"Langshen","AGE":"28"};

 

这是一个json对象

{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数
上面声明了一个名为“LangShen”的对象,多个属性或函数用,(逗号)隔开,因为是对象的属性,

那么我们访问的时候会有两种方式: 
访问方式一:LangShen.Name、LangShen.AGE

访问方式二:LangShen["Name"]、LangShen["AGE"]

就是这么一个小小的方式,会有什么区别呢

下面我写些自己的理解,如有错误,欢迎指正,

在实际应用中,第一种方式的.Name实际是作为一个对象被调用,而LangShen["Name"]里的name却可以是一个字符串。

这里我列个例子给大家看一下。
<html>
<head>
<title>键值对实现</title>
<script src="jquery-1.4.1.min.js"></script><!--这里需要你自己导入jqurey-->

</head>

<body>
<div>
 <input type="text" value="Amount,saleMoney,ntSaleMoney,invoiceMoney," id="selectValues" />
 <input type="button" value="点击提交" οnclick="selectValuesHead();" />
</div>
<script language="javascript">

 //用键值对实现拼接成新的字符串
 var selectValuesHead=function(){
  var f={//单列模式
   newStr:function(){
    var words={
     purchaseMoney:  "采购总额(总)",
     ntPurchaseMoney:"不含税采购总额(总)",
     Amount:   "销售总量(总)",
     saleMoney:  "销售总额(总)",
     ntSaleMoney: "不含税销售总额(总)",
     invoiceMoney: "开票总额(网)",
     ntinvoiceMoney: "不含税开票总额(总)",
     profitVolume: "毛利总额(总)",
     erpOrderNum: "全部单据数",
     saleDetailNum: "销售明细数",
     purchaseMoney3: "采购总额(网)",
     ntPurchaseMoney3:"不含税采购总额(网)",
     amount3:   "销售总量(网)",
     saleMoney3:  "销售总额(网)",
     ntSaleMoney3: "不含税销售总额(网)",
     invoiceMoney3: "开票总额(网)",
     ntinvoiceMoney3:"不含税开票总额(网)",
     profitVolume3: "毛利总额(网)",
     webOrderNum: "网站订单数"
    }
    return words;
   },
   ui: function(){
    var selectValuesHead = $.trim($("#selectValues").val());
    var tempArray=[];//临时数组
    Array.prototype.push.apply(tempArray, selectValuesHead.split(","));
    var valuesHead="";//页面需要使用到的字符串
    var tempLen = tempArray.length;
    for(var i=0;i<tempLen;i++){
     if(tempArray[i].length>0){
     valuesHead+="<li>"+this.newStr()[tempArray[i]]+"</li>";
     }
    }
    alert(valuesHead);
    }
  };
  f.ui();
 }
</script>
</body>
</html>
如上,我打底色的地方,newStr()返回一个json对象,这里就是使用第二种方式来调用,因为tempArray[i]是一个字符串,如你想用第一种方式来调用,是没有办法的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值