[英]how to convert Map<String,TreeMap<String,String>> String into Json Object in java?
After retrieving from cache which is stored in below format从以以下格式存储的缓存中检索后
{address={address1=string, address2=string, addressId=2045, city=string, fxGeocode=string,
houseNumber=string, isActive=true, postalCode=string, state=string, streetName=string, zip=string},
externalIds=[{externalId=string, externalIdDocId=38915437-69d7-449a-9bd8-9832c78b2010,
partyRoleExternalIdType=string}], name=string, organizationRoleId=990}
i have to convert it back into json Object.我必须将它转换回 json 对象。 What will be the best way to do it?
最好的方法是什么?
Converted json object is in below format转换后的 json 对象格式如下
{
"address": {
"address1": "string",
"address2": "string",
"addressId": "2045",
"city": "string",
"fxGeocode": "string",
"houseNumber": "string",
"isActive": "true",
"postalCode": "string",
"state": "string",
"streetName": "string",
"zip": "string"
},
"externalIds": [
{
"externalId": "string",
"externalIdDocId": "38915437-69d7-449a-9bd8-9832c78b2010",
"partyRoleExternalIdType": "string"
}
],
"name": "string",
"organizationRoleId": "990"
}
I'd do it with the Jackson JSON library.我会用 Jackson JSON 库来做。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.10.1</version>
</dependency>
This should give you the output you're looking for:这应该给你你正在寻找的输出:
ObjectMapper mapper = new ObjectMapper();
Map<String, Map<String, String>> myMap = new HashMap<>();
// add stuff to your map of maps
// pretty print
String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(myMap);
System.out.println(json);
You can use com.fasterxml.jackson.core library.您可以使用 com.fasterxml.jackson.core 库。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
and use objectMapper to convert this object into JSON.
//Object to JSON in String
ObjectMapper mapper = new ObjectMapper();
String jsonInString = mapper.writeValueAsString(object);
// beautify JSON
String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(object);
You can use ObjectMapper
class to turn java class object into jason and json to java class object您可以使用
ObjectMapper
类将 java 类对象转换为 jason,将 json 转换为 java 类对象
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
public class Test {
public static void main(String[] args) throws JsonProcessingException {
Map<String, TreeMap<String,String>> m = new HashMap<>();
TreeMap<String,String> t = new TreeMap<>();
t.put("address1", "string");
t.put("address2", "string");
m.put("address", t);
ObjectMapper om = new ObjectMapper();
String json = om.writeValueAsString(m);
System.out.println(json);
}
}
output
输出
{"address":{"address1":"string","address2":"string"}} {"address":{"address1":"string","address2":"string"}}
Gson is a good library by Google for json serialization / deserialization. Gson是谷歌提供的一个很好的用于 json 序列化/反序列化的库。 Maven dependency:
Maven 依赖:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
Sample serialization:示例序列化:
Gson gson = new Gson();
Map<String, Map<String, String>> someMap = new HashMap<>();
try (FileWriter writer = new FileWriter("C:\\folder\\file.json")) {
gson.toJson(someMap, writer);
} catch (IOException e) {
e.printStackTrace();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.