JSON的使用_检查JSON工具

本文介绍了JSON的基本概念,包括对象和数组的结构,并详细讲解了如何在JavaScript中创建、访问及修改JSON数据。此外,还提供了JSON数据格式的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

json简单说就是javascript中的对象和数组。

  1、对象:对象在js中表示为“{}”扩起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。

  2、数组:数组在js中是中括号“[]”扩起来的内容,数据结构为 ["java","javascript","vb",...]或[{key:"value"},{key:"value"}],取值方式和所有语 言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。

   现在细说两个结构的使用。

对象结构:

{
  no1 :{
    stuNo :  'no1' ,
    stuName :  '张三'
  }
}
以上是一个完整的json对象建构。no1表示一个学生对象,它可以实现存在文本中或者由Serlvet输出而成,代码模式为:
StringBuffer sb  =   new  StringBuffer();
sb.append(  "{" );
        sb.append(  "student:{" );
        sb.append(  "    stuNo:'10000'," );
        sb.append(  "    stuName:'张三'," );
        sb.append(  "  }" );
sb.append(  "}" );
out.print(sb.toString());
通过jQuery很容易就可以通过Serlvet获取到这条数据。
一个简单的JSON对象结构为:{stuNo:'100',stuName:'张三'}。同样是通过data.stuNo,data.stuName的方式获取里面的值。
对象的具体形式:
   1、对象是一个“名称/值”集合,如 no1:{stuNo:'no1',stuName:'张三'这个对象的键是no1,通过no1能获取所有信息,再通过no1.stuNo的键能获取stuNo的值。
   2、对象以{ 开始,以 }结束。每个名称后面跟一个冒号:,如no1、stuNo后面都是以冒号结尾。
   3、每个“键/值”间都用逗号,分开。如:stuNo:'no1',stuName:'张三' 。
    
 
 
数组结构:
[
    {"stuNo":"100","stuName":"张三"}
]
这个简单的数组结构可就无法通过键来取值,得使用数组的索引方式取值。如: var student1=data[0];
这样便获取了第一条学生信息,想要进一步取得stuNo和stuName的值,就可以直接用键来取了。之所以数组结构里的具体取值跟对象结构取值一样,看看每条信息的格式就明白了,以{ 开始,以 }结束,这不就是一个对象么。所以说来,数组结构里可以包含对象结构。
JSON数组的具体形式:
  1、数组以“[”开始,以“]”结束,值之间用逗号,分开。
    
对象&数组
{
"学生"  :
[
"姓名"  :  "小明" ,  "年龄"  :  23 },
"姓名"  :  "大憨" ,  "年龄"  :  24 }
]
}
  此Json对象包括了一个学生数组,而学生数组中的值又是两个Json对象。
对象结构里可以包含数组结构,同样数组结构里也能包含数组。这就好比对象里可以有数组类型的属性,而数组也有对象数组之分。
对象结构的遍历得通过键来循环,而数组结构通过索引遍历。
 
JSON数据内,不同的主条目之间,记录的实际名称/值可以不一样
{
  no1  : {
    stuNo  :  'no1' ,
    stuName  :  '张三'
  },
  no2  : {
    stuNo  :  'no2' ,
    stuName  :  '李四',
    sex : '男'
  }
}
这里no2对象中多了个sex的名称,这在JSON中也是允许的。JSON数据是完全动态的,允许在JSON结构的中间改变数据的方式。处理JSON格式的数据时,没有需要遵守的预定义的约束。
 
访问数据:
在Javascript中,JSON数据可以直接赋值给变量:
var student ="学生"  : [{  "姓名"  :  "小明" ,  "年龄"  :  23 }]}
这里student实质已经成为了一个数组,再访问里面的数据只需通过点号表示法来获取。得到小明的Javascript代码:
var xiaoming =studetn.学生[ 0].姓名
 
通过“学生”得到一个数组,然后直接从索引0得到第一条记录,最后访问“姓名”键的值,结果是“小明”。
 
修改数据:
studetn.学生[  0 ].姓名 = "小红"
在将字符串转换为 JavaScript 对象之后,就可以像这样修改变量中的数据。
修改数据的前提是对象得是文本格式,如果是直接从其他地方传进来的JSON数据,JavaScript会以对象来处理,无法通过数组的形式修改值。两种方式可以把JSON对象转换为JSON文本,一是eval(JSON),二是:JSON.toJSONString();
这样就可以获得一个能在任何地方使用的JSON文本字符串。
toJSONString()方法还能直接将其他对象转换为JSON文本,获得格式化的数据。
 
JSON数据有严格的格式,逗号,大括号,中括号必须补齐,不能多不能少。
推荐个网站检查自己的JSON数据格式:
 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值