java中如何将一个"json字符串“转换为"jsonobject"呢?

欣喜 Java经验 发布时间:2025-01-24 14:35:45 阅读数:17254 1
下文笔者讲述json字符串转jsonObject的方法及示例分享,如下所示
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式
 那么java后台中如何将这些json字符串转换为JSONObject对象
  然后java后台中进行相应的处理
  
下文笔者将讲述具体的json字符串转jsonObject对象,如下所示

org.json库:
   简单易用,但功能相对有限。

Jackson库:
   功能强大,支持复杂的JSON处理,但API相对复杂。

Gson库:
   提供了简洁的API,易于使用,但性能略逊于Jackson。

JSON.simple库:
   简单易用,但功能相对有限,且已被废弃,不推荐用于新项目。
 
注意事项:
    异常处理:
	  在解析JSON字符串时,可能会遇到各种异常情况,如格式错误、键不存在等
	    因此,在实际开发中,需要妥善处理这些异常情况
    性能考虑:
	  对于大型项目或高性能要求的场景,需要考虑JSON处理库的性能
	     可以通过性能测试来选择最适合项目的库
    安全性:
	  在处理JSON数据时,需要注意安全性问题
	   如防止JSON注入。使用成熟的JSON处理库可以降低安全风险
    兼容性:
	  在不同版本的JSON处理库之间迁移时,需要注意兼容性问题
	   新版本的库可能引入了新的API或废弃了旧API 

<1>使用org.json库

org.json库
  是一个轻量级的JSON处理库
   json库提供简单API来解析和生成JSON数据

json转jsonObject

步骤1:添加依赖

    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20210307</version>
    </dependency>
  
步骤2:转换JSON字符串
    import org.json.JSONObject;
     
    public class JsonExample {
        public static void main(String[] args) {
            String jsonStr = "{\"name\":\"maomao\", \"age\":18}";
            JSONObject jsonObject = new JSONObject(jsonStr);
            System.out.println("Name: " + jsonObject.getString("name"));
            System.out.println("Age: " + jsonObject.getInt("age"));
        }
    }

<2>使用Jackson库

Jackson是另一个流行的JSON处理库
 它提供丰富API来处理JSON数据
步骤1:添加依赖
 
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.12.3</version>
    </dependency>

 
步骤2:转换JSON字符串

    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.fasterxml.jackson.databind.JsonNode;
     
    public class JsonExample {
        public static void main(String[] args) throws Exception {
            String jsonStr = "{\"name\":\"Maomao\", \"age\":18}";
            ObjectMapper mapper = new ObjectMapper();
            JsonNode rootNode = mapper.readTree(jsonStr);
            System.out.println("Name: " + rootNode.get("name").asText());
            System.out.println("Age: " + rootNode.get("age").asInt());
        }
    }

<3>使用Gson库

Gson是Google提供一个JSON处理库
 同样提供简单API来解析和生成JSON数据

步骤1:添加依赖

    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.6</version>
    </dependency>
 
步骤2:转换JSON字符串

    import com.google.gson.JsonObject;
    import com.google.gson.JsonParser;
     
    public class JsonExample {
        public static void main(String[] args) {
            String jsonStr = "{\"name\":\"John\", \"age\":30}";
            JsonParser parser = new JsonParser();
            JsonObject jsonObject = parser.parse(jsonStr).getAsJsonObject();
            System.out.println("Name: " + jsonObject.get("name").getAsString());
            System.out.println("Age: " + jsonObject.get("age").getAsInt());
        }
    }

<4>使用JSON.simple库

JSON.simple是一个简单易用的JSON处理库
 它提供基本的API来处理JSON数据
步骤1:添加依赖

如果你使用Maven,可以在pom.xml文件中添加以下依赖:

    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1.1</version>
    </dependency>
 

步骤2:转换JSON字符串

    import org.json.simple.JSONObject;
    import org.json.simple.parser.JSONParser;
     
    public class JsonExample {
        public static void main(String[] args) {
            String jsonStr = "{\"name\":\"maomao\", \"age\":18}";
            JSONParser parser = new JSONParser();
            try {
                JSONObject jsonObject = (JSONObject) parser.parse(jsonStr);
                System.out.println("Name: " + jsonObject.get("name").toString());
                System.out.println("Age: " + jsonObject.get("age").toString());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202501/17377015668230.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者