JS json对象及遍历

1.JS对象与json对象区别:

JS 对象:

var JSobj= {

name:"ding";//也可以写成"name":"ding"

age:21;//也可以写成"age":21;

}

 json对象:

var json = {

"name":"ding";

//不能写成name:”ding”,JSON中的对象和属性都比必须加上双引号。

}

2.JSON对象和JS对象可以使用相应的函数进行解析(不太熟,以后补充)。

3.JSON数组表示、访问及遍历

JSON数组表示:

情况1:

var me=[

                 {
                     "name":"ding",
                    "age":12
                 },
                 {
                         "like":"girl"
                 }
        ]

访问JSON对象

alert(me[0]['name']);

或:

alert(me[0].name)

情况2:
var json_anwser2 = [{
   "0": 1,
   "1": 2,
   "2": 3
    }]
访问: alert(json[0])//弹出object object;
如果写:alert(json[1])//弹出undefine;
所以即使只有一个数组也要加上对应下标[0].(遍历时也要注意这点:文章结尾遍历)
:alert(json[0][0])。//弹出1;

 

json遍历:

情况1:

var json1 = {"user":[{"name":"ding"},{"name","ding2"}]};

for(var  i=0;i<json.a.length;i++)

{

alert(json1.abc[0].name)

} 

情况2:

var json2={"name":"txt1","name2":"txt2"};

for(var i=0;i<json2.length;i++)

{

alert(json2[i]);

}//这是错误遍历方法:


JSON1的可以这样遍历是因为json.a是一个数组对象,有length属性。

JSON2JSON对象,JSON对象无length属性。 

正确遍历方法for in

for (i in json2)

{
    alert(i);
    alert(json2[i]);
}

获取JSON长度:

for (i in json2)

{
    i++;
    return i;


二维数组JSON 的遍历

1.首先了解for in 遍历顺序

测试1

arr = [["a","b","c"],["d","e"]]; 

for (i in arr){
  alert(i)
}

结果:先后弹出:0、1


所以多维数组遍历需要用相应数组维数的for in,即对每一个数组内部进行for in遍历。 

验证:

arr = [["a","b","c"],["d","e"]];

for (i in arr){

for (j in arr[i]){

alert(arr[i][j] +":"+i )

}

} 

弹出显示顺序:

a:0

b:0

c:0

d:1

e:1

所以:
var json_anwser2 = [{
   "0": 1,
   "1": 2,
   "2": 3
    }]
这个JSON遍历也需要使用两次for in
for (i in json_anwser)
{
   for (j in json_anwser[i])
   {
       alert(json_anwser2[i][j]);
   }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在处理JSON对象时,我们经常需要将其内容遍历并存储到Map中,Map是一种存储键值对的数据结构,能够快速检索数据。 在编程语言中,比如Java,遍历一个JSON对象并将数据存储到Map中通常需要以下步骤: 1. 解析JSON对象:使用JSON解析库(如Jackson或Gson)将JSON字符串解析为一个可操作的对象,例如在Java中可以将JSON字符串解析为一个`JsonObject`。 2. 遍历JSON对象遍历解析后的JSON对象,获取每个键值对。 3. 存储到Map中:将遍历得到的键值对存储到Map中,键为JSON对象的属性名,值为对应的属性值。 以下是一个简单的例子,假设我们使用Java语言和Gson库来完成这个任务: ```java import com.google.gson.JsonObject; import com.google.gson.JsonParser; import java.util.HashMap; import java.util.Map; public class JsonToMap { public static void main(String[] args) { String jsonString = "{\"name\":\"张三\",\"age\":30,\"city\":\"北京\"}"; JsonObject jsonObject = JsonParser.parseString(jsonString).getAsJsonObject(); Map<String, Object> map = new HashMap<>(); for (Map.Entry<String, JsonElement> entry : jsonObject.entrySet()) { map.put(entry.getKey(), entry.getValue().getAsString()); // 假设所有值都是字符串类型 } // 输出map内容 System.out.println(map); } } ``` 在这个例子中,我们首先定义了一个JSON格式的字符串`jsonString`,然后使用`JsonParser`解析这个字符串为`JsonObject`。接着,我们创建了一个`HashMap`,遍历`JsonObject`的每个键值对,并将它们存储到`Map`中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值