java对象 转 json, json转java对象

原文地址

http://appsdeveloperblog.com/java-into-json-json-into-java-all-possible-examples/

 

Convert Java into JSON and JSON into Java. All Possible Examples.

 

Learning how to convert Java objects into JSON and JSON into Java will help you a lot in your work as a full stack mobile app developer. In this blog post I will share with you code examples which will help you do most of the tasks you will even need to do when working with JSON and Java. I will share with you:

  • How to create a JSON object in Java
  • How to create JSON object from a JSON String
  • How to convert Java JSON object into a JSON String
  • How to convert Java Object (POJO) into a JSON Object and a JSON String
  • Convert JSON Array String in Java Array List
  • How to convert Java objects like Map or List into JSON objects

I think the above is all you will most often be coming across with and the below code examples are all you need to help you with your task.

Before you begin, you will need to either download Google GSON library or add the below dependency into your pom.xml. At the time I am writing this blog post the GSON library is of version 2.8.0.

GSON Dependency for pom.xml

  1. <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
  2. <dependency>
  3. <groupId>com.google.code.gson</groupId>
  4. <artifactId>gson</artifactId>
  5. <version>2.8.0</version>
  6. </dependency>

 Create a JSON object in Java

  1. // Create new JSON Object
  2. JsonObject person = new JsonObject();
  3. person.addProperty("firstName", "Sergey");
  4. person.addProperty("lastName", "Kargopolov");
  5.  
  6. System.out.println(person.toString());

 Create Inner/Nested JSON Object

  1. JsonObject person = new JsonObject();
  2. person.addProperty("firstName", "Sergey");
  3. person.addProperty("lastName", "Kargopolov");
  4.  
  5. // Create Inner JSON Object
  6. JsonObject address = new JsonObject();
  7. address.addProperty("country", "ru");
  8. address.addProperty("city", "Moscow");
  9.  
  10. person.add("address", address);
  11.  
  12. System.out.println(person.toString());

 Create JSON Array

  1. // Create JSON Array
  2. JsonArray languages = new JsonArray();
  3. languages.add("Russian");
  4. languages.add("English");
  5. languages.add("French");
  6.  
  7. System.out.println(languages.toString());

 Create JSON Array from String

  1. // Create JSON Array from String
  2. String jsonString = "{\"firstName\":\"Sergey\",\"lastName\":\"Kargopolov\"}";
  3. JsonParser jsonParser = new JsonParser();
  4. JsonObject objectFromString = jsonParser.parse(jsonString).getAsJsonObject();
  5.  
  6. System.out.println(objectFromString.toString());

Convert JSON Array String into JSON Array

  1. JsonParser jsonParser = new JsonParser();
  2.  
  3. // Convert JSON Array String into JSON Array
  4. String jsonArrayString = "[\"Russian\",\"English\",\"French\"]";
  5. JsonArray arrayFromString = jsonParser.parse(jsonArrayString).getAsJsonArray();
  6.  
  7. System.out.println(arrayFromString.toString())

Convert JSON Array String into Java Array List

  1. // Convert JSON Array String into Java Array List
  2. String jsonArrayString = "[\"Russian\",\"English\",\"French\"]";
  3. Gson googleJson = new Gson();
  4. ArrayList javaArrayListFromGSON = googleJson.fromJson(arrayFromString, ArrayList.class);
  5.  
  6. System.out.println(javaArrayListFromGSON);

Convert Java Plain Object into JSON

  1. //Convert Java Plain Object into JSON
  2. Person personPojo = new Person();
  3. personPojo.setFirstName("Sergey");
  4. personPojo.setLastName("Kargopolov");
  5.  
  6. Gson gsonBuilder = new GsonBuilder().create();
  7. String jsonFromPojo = gsonBuilder.toJson(personPojo);
  8.  
  9. System.out.println(jsonFromPojo);

Convert Java Map into JSON

  1. Gson gsonBuilder = new GsonBuilder().create();
  2.  
  3. // Convert Java Map into JSON
  4. Map personMap = new HashMap();
  5. personMap.put("firstName", "Sergey");
  6. personMap.put("lastName", "Kargopolov");
  7. String jsonFromJavaMap = gsonBuilder.toJson(personMap);
  8.  
  9. System.out.println(jsonFromJavaMap);

Convert Java ArrayList into JSON

  1. Gson gsonBuilder = new GsonBuilder().create();
  2. // Convert Java Array into JSON
  3. List languagesArrayList = new ArrayList();
  4. languagesArrayList.add("Russian");
  5. languagesArrayList.add("English");
  6. languagesArrayList.add("French");
  7.  
  8. String jsonFromJavaArrayList = gsonBuilder.toJson(languagesArrayList);
  9.  
  10. System.out.println(jsonFromJavaArrayList);

All the above code examples in one single file 

  1. package com.appsdeveloperblog.json.gsonexample;
  2.  
  3. import com.google.gson.Gson;
  4. import com.google.gson.GsonBuilder;
  5. import com.google.gson.JsonArray;
  6. import com.google.gson.JsonObject;
  7. import com.google.gson.JsonParser;
  8. import java.util.ArrayList;
  9. import java.util.HashMap;
  10. import java.util.List;
  11. import java.util.Map;
  12.  
  13. public class App {
  14.  
  15. public static void main(String[] args) {
  16.  
  17. // Create new JSON Object
  18. JsonObject person = new JsonObject();
  19. person.addProperty("firstName", "Sergey");
  20. person.addProperty("lastName", "Kargopolov");
  21.  
  22. System.out.println(person.toString());
  23.  
  24. // Create Inner JSON Object
  25. JsonObject address = new JsonObject();
  26. address.addProperty("country", "ru");
  27. address.addProperty("city", "Moscow");
  28.  
  29. person.add("address", address);
  30.  
  31. System.out.println(person.toString());
  32.  
  33. // Create JSON Array
  34. JsonArray languages = new JsonArray();
  35. languages.add("Russian");
  36. languages.add("English");
  37. languages.add("French");
  38.  
  39. System.out.println(languages.toString());
  40.  
  41. // Create JSON Array from String
  42. String jsonString = "{\"firstName\":\"Sergey\",\"lastName\":\"Kargopolov\"}";
  43. JsonParser jsonParser = new JsonParser();
  44. JsonObject objectFromString = jsonParser.parse(jsonString).getAsJsonObject();
  45.  
  46. System.out.println(objectFromString.toString());
  47.  
  48. // Convert JSON Array String into JSON Array
  49. String jsonArrayString = "[\"Russian\",\"English\",\"French\"]";
  50. JsonArray arrayFromString = jsonParser.parse(jsonArrayString).getAsJsonArray();
  51.  
  52. System.out.println(arrayFromString.toString());
  53.  
  54.  
  55. // Convert JSON Array String into Java Array List
  56. Gson googleJson = new Gson();
  57. ArrayList javaArrayListFromGSON = googleJson.fromJson(arrayFromString, ArrayList.class);
  58.  
  59. System.out.println(javaArrayListFromGSON);
  60.  
  61.  
  62. //Convert Java Plain Object into JSON
  63. Person personPojo = new Person();
  64. personPojo.setFirstName("Sergey");
  65. personPojo.setLastName("Kargopolov");
  66.  
  67. Gson gsonBuilder = new GsonBuilder().create();
  68. String jsonFromPojo = gsonBuilder.toJson(personPojo);
  69.  
  70. System.out.println(jsonFromPojo);
  71.  
  72. // Convert Java Map into JSON
  73. Map personMap = new HashMap();
  74. personMap.put("firstName", "Sergey");
  75. personMap.put("lastName", "Kargopolov");
  76. String jsonFromJavaMap = gsonBuilder.toJson(personMap);
  77.  
  78. System.out.println(jsonFromJavaMap);
  79.  
  80. // Convert Java Array into JSON
  81. List languagesArrayList = new ArrayList();
  82. languagesArrayList.add("Russian");
  83. languagesArrayList.add("English");
  84. languagesArrayList.add("French");
  85.  
  86. String jsonFromJavaArrayList = gsonBuilder.toJson(languagesArrayList);
  87.  
  88. System.out.println(jsonFromJavaArrayList);
  89.  
  90. }
  91. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值