2017-01-19 10 views
-2

は、私は、カスタムのJSON出力などにMap<String,String>を変換したい: マイマップが出てカスタムキーでマップ上に置く必要がありますマップ<String、String>をカスタムJSON形式に変換する方法は?

-------- 
ID |Desc 
-------- 
1 | A 
2 | B 
3 | C 

私のJSONのようなデータを持っているIE ID &内容:以前の私

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

リストを使用して、オブジェクトクラスを使用してJsonに変換しました。

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

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

カスタムオブジェクトクラスで今まで持っていたフィールドに変換します。 しかし、Mapにはキー/値とフィールド名がないので、どのように設定できるか知る必要があります。

+2

いくつかのコードを書くを楽しみますか?それは良いスタートになるだろう。これを行うライブラリをお探しの場合は、このサイトの[トピック(https://stackoverflow.com/help/on-topic)]です。私たちにあなたのためにいくつかのコードを書くことを望むなら、それもそうです。いくつかの研究を行い、解決策を試してみる必要があります。解決策がうまくいかなければ、ここに戻って助けを求めてください。私たちはあなたからの努力[**もっと多くの**](http://meta.stackoverflow.com/a/261593/2071828)を期待しています。はるかに。 –

+0

コードを使用して更新された質問。 \t org.codehaus.jackson \t \t \t ジャクソンjaxrs libに今すぐ – usman

+0

を使用した場合、あなたは「ジャクソンは 'Map'をシリアル化」し、インターネット上でこのサイトとチュートリアルのいくつかの答えを通過グーグルことができます。 **いくつかの研究**を行います。 –

答えて

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()); 

    } 


} 
+0

ObjectMapper /シリアライザでの操作方法 – usman

+0

必要なものが表示されていますが、元の投稿のコメントに記載されています。独自のカスタムコードを記述する必要があります。 –

関連する問題