时间:2021-05-20
什么是JSON?
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 JSON采用完全独立于语言的文本格式,而且很多语言都提供了对json的支持(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这样就使得JSON成为理想的数据交换格式。
数据交换格式,是指客户端和服务器之间通信,传递数据时,数据使用的格式是json
JSON在java中的使用
json在java中操作,需要用到 歌提供的gson工具类
public class GsonTest { @Test public void test() { Scenery scenery = new Scenery(1, "天坛公园", "北京"); // Javabean 转换成 json 字符串 // 创建谷歌的 gson 提供的工具类 Gson gson = new Gson(); // 使用 toJson() 方法转换 String json = gson.toJson(scenery); System.out.println(json); //结果 : {"id":1,"name":"天坛公园","address":"北京"} // 使用 formJson 方法将 json 字符串转换为Javabean 对象 Scenery sceneryBean = gson.fromJson(json, Scenery.class); System.out.println(sceneryBean); //结果 : Scenery{id=1, name='天坛公园', address='北京'} } }List集合 和json字符串的互转
@Test public void testList(){ // List 和json的互转 List<Scenery> list = new ArrayList<>(); list.add(new Scenery(1, "野人谷风景区", "湖北")); list.add(new Scenery(2, "绿野山庄", "浙江")); list.add(new Scenery(3, "天坛公园", "北京")); // 创建 gson 工具类 Gson gson = new Gson(); // 使用 toJson() 方法 把list集合转换为json字符串 String json = gson.toJson(list); System.out.println(json); //结果 : [{"id":1,"name":"野人谷风景区","address":"湖北"},{"id":2,"name":"绿野山庄","address":"浙江"},{"id":3,"name":"天坛公园","address":"北京"}] // fromJson 把json字符串转换回list集合 // toJson() 是把对象转换为json字符串 // fromJson是把json字符串转换回java对象 // 如果是转回一个JavaBean.则第二个参数是 转换的javaBean的具体类型 // 如果是转回一个集合.则第二个参数是type类型 // 使用fromJson() 方法将json字符串转换为list集合 //使用匿名内部类 List<Scenery> list1 = gson.fromJson(json, new TypeToken<List<Scenery>>(){}.getType()); System.out.println(list1); //结果 : [Scenery{id=1, name='野人谷风景区', address='湖北'}, Scenery{id=2, name='绿野山庄', address='浙江'}, Scenery{id=3, name='天坛公园', address='北京'}] // 在转成javaBean对象 Scenery scenery = list1.get(0); System.out.println(scenery); //结果 : Scenery{id=1, name='野人谷风景区', address='湖北'} }map 和json的互转
@Test public void testMap(){ Map<String, Scenery> sceneryMap = new HashMap<>(); sceneryMap.put("CN10121010103A", new Scenery(1, "杭州极地海洋公园", "杭州")); sceneryMap.put("CN10121010104A", new Scenery(2, "雷峰塔", "杭州")); sceneryMap.put("CN10109060801A", new Scenery(3, "八达岭长城", "北京")); Gson gson = new Gson(); // 所有的java对象转成json字符串都统一使用 toJson() 方法 String json = gson.toJson(sceneryMap); System.out.println(json); //结果 : {"CN10121010103A":{"id":1,"name":"杭州极地海洋公园","address":"杭州"},"CN10121010104A":{"id":2,"name":"雷峰塔","address":"杭州"},"CN10109060801A":{"id":3,"name":"八达岭长城","address":"北京"}} // 吧json字符串转换回 map集合 // 使用匿名内部类 Map<String,Scenery> map = gson.fromJson(json, new TypeToken<Map<String, Scenery>>() { }.getType()); System.out.println(map); //结果 : {CN10121010103A=Scenery{id=1, name='杭州极地海洋公园', address='杭州'}, CN10121010104A=Scenery{id=2, name='雷峰塔', address='杭州'}, CN10109060801A=Scenery{id=3, name='八达岭长城', address='北京'}} Scenery cn10109060801A = map.get("CN10109060801A"); System.out.println(cn10109060801A); // 结果 : Scenery{id=3, name='八达岭长城', address='北京'} }总结
到此这篇关于JSON在Java中的相互转换示例详解的文章就介绍到这了,更多相关json java 相互转换内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
java日期各种格式之间的相互转换实例代码java日期各种格式之间的相互转换,直接调用静态方法实例代码:java日期各种格式之间的相互转换,直接调用静态方法pa
本文实例总结了Java实现Json字符串与Object对象相互转换的方式。分享给大家供大家参考,具体如下:Json-Lib、Org.Json、Jackson、G
在python中json分别由列表和字典组成,本文主要介绍python中字典与json相互转换的方法。使用json.dumps可以把字典转成json字符串。使用
一、Java中byte和int之间的转换源码://byte与int的相互转换publicstaticbyteintToByte(intx){return(byt
java中List、Array、Map、Set等集合相互转换在java中,我们经常需要对List、Array等做一些转换操作,当然转换方法有很多种,但哪种方法既