关于JSON类型的数据的详解

JSON类型的数据

json是一种简单的轻量级的数据结构

表示的形式有数组和对象   数组[]对象{}

1,json类型的数组

定义方式:var arr = [数字,字符,true,false,对象];任何类型的数据

2,json类型的对象

定义方式:var obj = {key:value,key1:value1,....}

key和value是一对键-值对,必须通过键才能获取值

注意:

key必须是字符串类型的值.

value可以是任何类型的值,可以是数组.对象等

3.json对象值的获取

obj.keyobj.key1......

4.json类型的字符串与json对象

字符串:"{key:value,key1:value1,....}"

对象:{key:value,key1:value1,....}

注意:当是json类型的字符串时不能直接通过键寻找到对应的值必须转换成json对象或者数组才可以获取相应的属性,要不然仅仅只是字符串而已

5,json类型的字符串转化成json类型的数组或者对象通过方法:eval(String)

例如:var p = "{'key':'value','key1':'value1'}";

 var js=eval('('+p+')');

例如:

//定义一个数组

var arr = [1,3,true,'abc'];

//数组中组成的元素类型可以为:数字,字符,true,false,对象(想放什么放什么)

//alert(arr[0]);

//定义对象

//obj = {key:value,key1:value1,....}

//key只能是字符串,value可以是数字,字符串,true,false,对象等任意

var obj = {"name":"李氏","sex":"女","age":"18","爱好":"男","偶像":"周杰伦","h":arr};

//alert(obj.name);

//alert(obj.h[3]);

var list1 =[{"name":"李氏","sex":"男"},{"name":"王","sex":"男"},{"name":"甘","sex":"女"}];

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

var obj = list1[i];

alert(obj.name+"--->>"+obj.sex);

}

//json类型的字符串"{key:value,key1:value1,....}"

//json类型的对象{key:value,key1:value1,....}

var p = "{'key':'value','key1':'value1'}"

//alert(p.key);//识别不了

//把json类型的字符串转换成json对象eval(string)

var p1 = eval('('+p+')');

//alert(p1.key);


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JsonNode 是 Jackson 库中的一个类,用于表示 JSON 数据的节点。它可以表示 JSON 对象、数组、字符串、数字、布尔值和 null 值等。JsonNode 是一个抽象类,具体的实现有 ObjectNode、ArrayNode、TextNode、NumericNode、BooleanNode 和 NullNode 等。 JsonNode 提供了一系列的方法来访问和操作 JSON 数据,比如: 1. `get(String fieldName)`:获取指定字段名的节点。 2. `get(int index)`:获取指定索引位置的节点。 3. `getNodeType()`:获取节点的类型,返回一个 JsonNodeType 枚举类型。 4. `isArray()`、`isObject()`、`isTextual()`、`isNumber()`、`isBoolean()`、`isNull()`:判断节点的类型。 5. `asText()`、`asInt()`、`asDouble()`、`asBoolean()`:转换节点的值为对应的 Java 类型。 6. `elements()`:获取节点的所有子节点的迭代器。 7. `fields()`:获取节点的所有字段名和节点值的迭代器。 8. `path(String fieldName)`:获取指定字段名的节点,如果不存在则返回一个空节点。 9. `findPath(String fieldName)`:查找指定字段名的节点,如果不存在则返回一个空节点。 10. `findValue(String fieldName)`:查找指定字段名的节点,并返回它的节点值。 11. `findValues(String fieldName)`:查找指定字段名的所有节点,并返回它们的节点值。 JsonNode 的使用非常灵活,可以根据具体的需求来选择使用哪些方法。通常情况下,我们会使用 ObjectMapper 将 JSON 字符串转换为 JsonNode 对象,然后再进行访问和操作。例如: ```java ObjectMapper mapper = new ObjectMapper(); JsonNode root = mapper.readTree(jsonStr); JsonNode nameNode = root.get("name"); String name = nameNode.asText(); ``` 以上代码将 JSON 字符串解析为 JsonNode 对象,并获取其中名为 "name" 的字段的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值