我需要以编程方式构建以下JSON。但是,需要一种从Java对象转换为JSON的优雅方法。因此,我可以避免使用字符串生成器来构建以下JSON。

我知道,有时候,在构建JSON时,我会为特定键设置参数数组。
请分享解决该问题的通用方法。

请对此发表一些想法。

{
    "tropo": [
        {
            "ask": {
                "attempts": 3,
                "say": [
                    {
                        "value": "Hi.",
                        "event": "timeout"
                    },
                    {
                        "value": "Hello",
                        "event": "nomatch:1"
                    },
                    {
                        "value": "Hello2",
                        "event": "nomatch:2"
                    },
                    {
                        "value": "Satheesh",
                        "voice": "veronica"
                    }
                ],
                "choices": {
                    "value": "Yes(1,Yes),No(2,No)",
                    "mode": "ANY"
                },
                "voice": "veronica",
                "recognizer": "en-us",
                "timeout": 8,
                "name": "year",
                "minConfidence": 39,
                "required": true
            }
        },
        {
            "on": {
                "next": "https://test.app.com/WAP2/",
                "event": "continue"
            }
        },
        {
            "on": {
                "next": "https://test.app.com/WAP2/",
                "event": "incomplete"
            }
        },
        {
            "on": {
                "next": "",
                "event": "hangup"
            }
        }
    ]
}

最佳答案

正如paulsm4所说,我来看看gson。它易于使用,您可以在网络上找到许多示例,说明如何运行(official user guide)。

例:

Employee employee = new Employee();
employee.setId(1);
employee.setFirstName("Lokesh");
employee.setLastName("Gupta");
employee.setRoles(Arrays.asList("ADMIN", "MANAGER"));

Gson gson = new Gson();

System.out.println(gson.toJson(employee));

Output:

{"id":1,"firstName":"Lokesh","lastName":"Gupta","roles":["ADMIN","MANAGER"]}


howtodoinjava.com/的Google Gson教程中:将Java对象转换为JSON。

10-06 03:41