在写代码的时候,我往往因为一个小基础知识点未能掌握好 ,而耗费很多时间。
这次在使用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="点击提交" onclick="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]是一个字符串,如你想用第一种方式来调用,是没有办法的。
分享到:
相关推荐
这是因为JSON对象中的键值对之间使用的是逗号来分隔,而原始字符串中使用的是与号。例如,`"cardid":"64157001"&"cardnum":1`变为`"cardid":"64157001","cardnum":1`。 3. **添加括号**:最后,为了形成一个完整的...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。JSON被广泛应用于网络数据传输...在实际编程中,推荐根据具体情况选择合适的方法来创建JSON键值对。
此外,理解大括号和中括号的用法对于掌握JSON数据结构也是至关重要的,因为JSON格式也是使用这两种符号来构建数据结构的。在实际开发中,灵活使用大括号和中括号能够帮助我们更好地组织和管理代码中的数据。
在这个“JSON库使用DEMO”中,我们将探讨如何在编程中利用JSON库进行数据的序列化和反序列化,以及相关的操作。 1. **JSON的基本结构**: JSON的数据结构主要由对象(Object)和数组(Array)组成。对象是键值对的...
一个JSON对象以大括号{}包围,由键值对组成,键用双引号括起,键和值之间用冒号隔开,多个键值对用逗号分隔。值可以是字符串、数字、布尔值、数组、null或另一个JSON对象。 在JSP中使用JSON,我们需要引入JSON库。...
JSON数据结构主要由键值对(key-value pairs)组成,数据以大括号`{}`包裹,每个键值对之间用逗号`,`分隔。键(key)是字符串,用双引号`""`包围,而值(value)可以是各种数据类型,如字符串、数字、布尔值、数组、null...
在JSON中,数据被组织为键值对的形式,类似于JavaScript的对象和Python的字典。基本结构有两类:对象和数组。对象是以花括号{}包围的键值对集合,键与值之间用冒号分隔,不同的键值对之间用逗号分隔。数组是以方括号...
在本文中,我们将深入探讨一种特殊情况下JSON解析的问题:双引号和键值对不按照标准格式出现的情况。 首先,我们要理解JSON的基本结构。一个有效的JSON对象必须遵循以下规则: 1. 键必须是字符串,用双引号括起来。...
- **对象**:一个无序的键值对集合,使用大括号包围。 - **数组**:值的有序集合,使用方括号包围。 - **布尔值**:可以是`true`或`false`。 - **null**:表示没有值。 #### JSON与XML的比较 JSON相比XML有以下优势...
2. 当数组是非连续的(例如移除了某个索引)或不是从0开始的数组时,`json_encode`会将该数组编码成一个JSON对象,而不是数组,使用大括号“{}”括起来的键值对格式的字符串,例如: ```php $test = array(); $test...
可能还包含了一些内部使用的辅助类或结构,比如模拟JSON数组的类或表示JSON键值对的结构。 7. **替代方案**: 虽然VS2003自身不支持JSON,但可以使用第三方库,如早期的JSON.NET,即使在旧版本的.NET Framework上...
JSON由键值对组成,以大括号 `{}` 包裹。键用双引号 `"key"` 指定,值可以是字符串、数字、布尔值、数组、null 或其他JSON对象。例如: ```json { "name": "张三", "age": 30, "isStudent": false } ``` 2....
1. 对象(Object):JSON对象由花括号 `{}` 包裹,其中存储键值对。键用双引号包围,后面跟着冒号,然后是对应的值,多个键值对之间用逗号分隔。 2. 键值对(Key-Value Pair):键是字符串,值可以是各种JSON数据...
你可以创建一个`GDataObject`的子类,定义如何将类的成员变量转化为JSON键值对,然后使用`WriteToJSONString()`方法生成JSON字符串。 5. **错误处理**:在解析和生成过程中,可能会遇到无效的JSON格式或内存问题。...
JSON数据通常以键值对的形式表示,支持对象(使用花括号 `{}` 表示)、数组(使用方括号 `[]` 表示)以及各种基本类型。三层树结构可能如下所示: ```json { "root": { "level1": { "level2_1": [ {"key1": ...
JSON对象以大括号{}表示,键值对以冒号分隔,各项之间用逗号分隔。数组则用方括号[]表示,元素之间同样用逗号分隔。 二、C#中的JSON库 在C#中,我们可以使用Newtonsoft.Json库来处理JSON数据。该库提供了一系列API...
JSON格式通常由键值对组成,键用引号括起来,后跟冒号,值与键之间用逗号分隔,整个对象用大括号包围。 "jsonview" 是一个针对浏览器的插件,专门设计用来帮助开发者更好地查看和理解JSON格式的数据。在没有json...
在JavaScript中,可以使用`JSON.stringify()`方法将JavaScript对象转换为JSON字符串,然后使用`JSON.parse()`方法将JSON字符串解析回JavaScript对象。在其他语言中,如Python,有`json`模块提供类似的功能。 总的来...
- **对象**:JSON中的对象表示为花括号内的键值对集合,如`{"key": "value"}`。 - **null**:JSON中存在null值,它是一个特殊的值,表示空或无。 - **类型转换**:JSON.stringify()在序列化时会根据JavaScript的...