Java作為一種面向?qū)ο蟮木幊陶Z(yǔ)言,在企業(yè)應(yīng)用和互聯(lián)網(wǎng)開(kāi)發(fā)領(lǐng)域廣受歡迎。在處理數(shù)據(jù)和傳遞數(shù)據(jù)時(shí),JSON(JavaScript Object Notation)被越來(lái)越廣泛地應(yīng)用,并且Java已經(jīng)提供了用于處理JSON的庫(kù)。
Java中支持JSON的jar包有很多,其中比較常見(jiàn)的有如下幾種:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency>
其中最常用的是jackson-databind,它是Jackson JSON Processor庫(kù)的核心模塊。它使用Java對(duì)象映射(Java-to-JSON)和JSON對(duì)象映射(JSON-to-Java)進(jìn)行轉(zhuǎn)換,在Maven中的坐標(biāo)為:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.10.0</version> </dependency>
使用jackson-databind的例子:
ObjectMapper objectMapper = new ObjectMapper(); String jsonString = "{\"id\":1,\"name\":\"張三\"}"; User user = objectMapper.readValue(jsonString, User.class); System.out.println(user.toString());
其中,User為Java類(lèi),JsonString為JSON字符串。使用readValue方法將JSON字符串轉(zhuǎn)換為Java對(duì)象。
我們也可以將Java對(duì)象轉(zhuǎn)換為JSON字符串:
User user = new User(1, "張三"); String jsonString = objectMapper.writeValueAsString(user); System.out.println(jsonString);
這個(gè)例子中,User類(lèi)為Java類(lèi),使用writeValueAsString方法將Java對(duì)象轉(zhuǎn)換為JSON字符串。
總之,JSON成為了Web應(yīng)用程序中最重要的數(shù)據(jù)格式之一,并且Java中的JSON庫(kù)可以使Java應(yīng)用程序與其他Web服務(wù)交互