如何将Map <string,string>转换为自定义JSON格式?

时间:2017-01-19 11:34:30

标签: java json jackson

我想将Map<String,String>转换为Custom Json输出,例如: 我的地图有像

这样的数据
--------
ID |Desc
--------
1  | A
2  | B
3  | C

我的Json应该使用自定义键,即ID&amp;说明:

[{id:1,desc,A},{id:2,desc,B},{id:3,desc,C}]

之前我使用List将对象类转换为Json:

List<CustomObject> myList = new ArrayList<>();

ObjectMapper mapper = new ObjectMapper();
String jsonText = mapper.writeValueAsString(myList);

所以这会转换为我在CustomObject类中的任何字段。 但由于Map只有键/值而没有字段名,所以我需要知道如何设置它们。

1 个答案:

答案 0 :(得分:0)

优化和享受

//*******************************************************************
// NOTE: please read the 'More Info' tab to the right for shortcuts.
//*******************************************************************

import java.lang.Math; // headers MUST be above the first class
import java.util.*;

// one class needs to have a main() method
public class MapToJson
{
 // arguments are passed using the text field below this editor
 public static void main(String[] args)
 {
   Map<String,String> map = new HashMap<>();
   map.put("1","A");
   map.put("2","B");
   map.put("3","C");

   final StringBuilder string = new StringBuilder("[");    


   map.forEach((k,v)->string.append("{id:"+k+",desc"+v+"},"));


   string.append("]");


   System.out.println(string.toString());

  }


 }