json格式如何使用?json怎么进行编码解码?

阳光 2022-03-17 22:12:54 java常见问答 5446

JSON 是一种完全独立于编程语言的文本格式。可以把任意编程语言表示的数据类型转换成JSON格式的字符串,也可以反向转换。那json格式如何使用?下面来我们就来给大家讲解一下。

JSON 语法规则

在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:

对象表示为键值对;

数据由逗号分隔;

花括号保存对象;

方括号保存数组;

JSON 键/值对

JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值:

{"firstName": "Json"}

这很容易理解,等价于这条 JavaScript 语句:

{firstName : "Json"}

JSON的两种结构

JSON有两种表示结构,对象和数组。

对象结构以”{”大括号开始,以”}”大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如代码。

{
    key1: value1
    , key2: value2
    , ...
}

其中关键字是字符串,而值可以是字符串,数值,true,false,null,对象或数组

数组结构以”[”开始,”]”结束。中间由0或多个以”,”分隔的值列表组成,语法结构如代码。

[
    
    {
        key1: value1
        , key2: value2
},
    
    {
        key3: value3
        , key4: value4
}
    
]

json怎么进行编码解码?

1、编码

从 Java 变量到 JSON 格式的编码过程如下:

实例

public void testJson()
{
    JSONObject object = new JSONObject();
    //string
    object.put("string", "string");
    //int
    object.put("int", 2);
    //boolean
    object.put("boolean", true);
    //array
    List < Integer > integers = Arrays.asList(1, 2, 3);
    object.put("list", integers);
    //null
    object.put("null", null);
    System.out.println(object);
}

在上例中,首先建立一个 JSON 对象,然后依次添加字符串、整数、布尔值以及数组,最后将其打印为字符串。

输出结果如下:

{"boolean":true,"string":"string","list":[1,2,3],"int":2}

2、解码

从 JSON 对象到 Java 变量的解码过程如下:

实例

public void testJson2()
{
   
    JSONObject object = JSONObject
        .parseObject("{\"boolean\":true,\"string\":\"string\",\"list\":[1,2,3],\"int\":2}");
    //string
    String s = object.getString("string");
    System.out.println(s);
    //int
    int i = object.getIntValue("int");
    System.out.println(i);
    //boolean
    boolean b = object.getBooleanValue("boolean");
    System.out.println(b);
    //list
    List < Integer > integers = JSON.parseArray(object.getJSONArray("list")
        .toJSONString(), Integer.class);
    integers.forEach(System.out::println);
    //null
    System.out.println(object.getString("null"));
}

在上例中,首先从 JSON 格式的字符串中构造一个 JSON 对象,之后依次读取字符串、整数、布尔值以及数组,最后分别打印,打印结果如下:

string
2
true
1
2
3
null

Json是java工作中经常会遇到的,所以对于json相关使用,我们只有熟练掌握了之后才能顺利使用哦!最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。

推荐阅读:

JAVA数据库怎么分模块?JAVA数据库分库实例

fastjson如何关闭autotype?autotype是什么?

struts怎么配置?struts如何进行常量配置?