Mr_老冷 发表于 2022-11-20 22:16:48

【JavaScript】json和对象互转

1.json是个字符串
let json = '{"a":1,"b":2}'
logd(json)
//输出{a:1,b:2}

1.1.json不能直接取值
logd(json["a"])
//报错,或输出undefined

1.2.如果json想取值,要将json转为对象
let json = '{"a":1,"b":2}'
let obj = JSON.parse(json)
logd(obj.a)
//输出 1

2.对象是js里的一种数据结构
let obj = {a:1,b:2}
logd(obj)
//输出
2.1.对象可以直接取值
logd(obj["a"])
logd(obj.a)
//输出 1

2.2.如果对象想调试输出整个内容,或者作为字符串传给某些函数作为变量,需要转为json
let obj = {a:1,b:2}
let json = JSON.stringify(obj)
logd(json)
//输出 {"a":1,"b":2}

3.1.带中括号的数组型怎么处理
//这个是个数组型json,先解析,然后按照数组处理,通过下标取值,再对取值按照对象处理,通过key取值
let json = '[{"a":1},{"a":2}]'
let obj = JSON.parse(json)
for(let i=0;i<obj.length;i++){
logd(obj.a)
}
//1
//2
3.2.数组型对象
//这个是数组型对象,本身是个数组,而数组内元素由对象组成
let obj = [
    {a:1},
      {a:2}
]
//如果需要查看内容
for(let i=0;i<obj.length;i++){
logd(obj.a)
}
//如果需要整体打印内容
logd(obj)
//输出
logd(JSON.stringify(obj))
//[{"a":1},{"a":2}]

4.1.普通json,但json内含有数组
let json = '{"a":1,"b":}'

//先对json进行解析成对象
let obj = JSON.parse(json)

//取出b
let ret_b = obj.b
//此时,ret_b是个数组,对ret_b进行打印
for(let i=0;i<ret_b.length;i++){
logd(ret_b)
}

4.2.普通json,但json内含有数组,且数组内又是个对象元素
let json = '{"a":1,"b":[{"a":1},{"a":2}]}'
//先对json进行解析成对象
let obj = JSON.parse(json)

//取出b
let ret_b = obj.b
//此时,ret_b是个数组,对ret_b进行打印
for(let i=0;i<ret_b.length;i++){
//打印当前下标的ret_b内容
logd(JSON.stringify(ret_b))
//通过下标取出ret_b每个数组元素,再通过key取值
logd(ret_b.a)

}
5.1.对象内含有数组
let obj = {"a":1,"b":}
//直接打印obj
logd(obj)
//输出

//序列化一下再打印
logd( JSON.stringify(obj))
//{"a":1,"b":}

//取出b
let ret_b = obj.b
//此时,ret_b是个数组,对ret_b进行打印
for(let i=0;i<ret_b.length;i++){
logd(ret_b)
}

5.2.对象内含有数组,且数组内又是个对象元素
et obj = {"a":1,"b":[{"a":1},{"a":2}]}
//直接打印obj
logd(obj)
//输出

//序列化一下再打印
logd( JSON.stringify(obj))
//{"a":1,"b":[{"a":1},{"a":2}]}

//取出b
let ret_b = obj.b
//此时,ret_b是个数组,对ret_b进行打印
for(let i=0;i<ret_b.length;i++){
//打印当前下标的ret_b内容
logd(JSON.stringify(ret_b))
//通过下标取出ret_b每个数组元素,再通过key取值
logd(ret_b.a)
}


king999 发表于 2023-1-29 23:42:15

谢谢分享!!

a13330165002 发表于 2023-3-5 16:32:08

感谢分享

killer 发表于 2023-3-12 21:01:10

11111111111111111111111111111

kspz 发表于 2023-3-13 20:18:39

json和对象互转

lyport 发表于 2023-4-5 16:07:47

kkkkkkkkkkkkkkkkkkk

清寒胜雪 发表于 2023-4-9 13:45:48

1111111111

mis123 发表于 2023-4-19 07:31:47

66666666666

w1782233580 发表于 2023-5-21 23:13:25

温热我认为惹我惹我热污染玩儿

nanhai 发表于 2023-6-27 10:16:21

1111111111111111111
页: [1]
查看完整版本: 【JavaScript】json和对象互转