61

Javaでジェネリックリストをjsonに変換する方法.私はこのようなクラスを持っています..

public class Output
{
    public int Keyname { get; set; }
    public Object  outputvalue{ get; set; }  //outvalue may be even a object collection
}

List<Output> outputList = new List<Output>();

JavaでoutputListをjsonに変換したいです。変換後、クライアントに送信します。

4

8 に答える 8

139

そのためにGSONライブラリを使用してください。これがサンプルコードです

List<String> foo = new ArrayList<String>();
foo.add("A");
foo.add("B");
foo.add("C");

String json = new Gson().toJson(foo );

これがGsonのMaven依存関係です

<dependencies>
    <!--  Gson: Java to Json conversion -->
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.2.2</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

または、ここからjarを直接ダウンロードして、クラスパスに配置することもできます

http://code.google.com/p/google-gson/downloads/detail?name=gson-1.0.jar&can=4&q=

Jsonをクライアントに送信するには、Springを使用するか、単純なサーブレットでこのコードを追加します

response.getWriter()。write(json);

于 2013-01-09T05:50:30.873 に答える
14

これには外部ライブラリが必要です。

JSONArray jsonA = JSONArray.fromObject(mybeanList);
System.out.println(jsonA);

Google GSONはそのようなライブラリの 1 つです。

Java オブジェクト コレクションを JSON 文字列に変換する例については、こちらを参照することもできます。

于 2013-01-09T05:43:50.383 に答える
4

これを試して:

public void test(){
// net.sf.json.JSONObject, net.sf.json.JSONArray    

List objList = new ArrayList();
objList.add("obj1");
objList.add("obj2");
objList.add("obj3");
HashMap objMap = new HashMap();
objMap.put("key1", "value1");
objMap.put("key2", "value2");
objMap.put("key3", "value3");
System.out.println("JSONArray :: "+(JSONArray)JSONSerializer.toJSON(objList));
System.out.println("JSONObject :: "+(JSONObject)JSONSerializer.toJSON(objMap));
}

ここでAPIを見つけることができます。

于 2013-01-09T07:34:26.087 に答える
3

Google gsonライブラリを見てください。これを処理するための豊富な API を提供し、非常に簡単に使用できます。

于 2013-01-09T05:45:42.713 に答える
2

簡素化と適切な構造化のために、SpringMVC を使用してください。とてもシンプルです。

@RequestMapping("/carlist.json")
public @ResponseBody List<String> getCarList() {
    return carService.getAllCars();
}

参照とクレジット: https://github.com/xvitcoder/spring-mvc-angularjs

于 2015-08-28T15:23:27.617 に答える