【发布时间】:2013-08-26 10:15:02
【问题描述】:
在我的项目中,当我向 Advance Rest Client 发送 Rest 响应时,它只显示具有某些值的字段,而忽略(不显示)具有 NULL 值或空值的字段。
部分代码:
Gson gson=new Gson();
// firstResponse is Object which contains the values
String jsonString = gson.toJson(firstResponse);
test.saveJson(jsonString); //OR System.out.println(jsonString);
return Response.ok(firstResponse).build(); // Response to Rest Client
回复样本至return Response.ok(firstResponse).build();
来自网络项目的高级休息客户端:
{
"Name": "smith",
"Properties": {
"propertyList": [
{
"ID": "072",
"Number": "415151",
"Address": "Somewhere"
},
{
"ID": "151",
"Number": "a800cc79-99d1-42f1-aeb4-808087b12c9b",
"Address": "ninink"
},
{
"ID": "269",
},
],
},
}
现在,当我将其保存为数据库中的 Json 字符串或当我想将其打印到控制台时,它还会打印具有 null 或空值的字段:
{
"Name": "smith",
"Properties": {
"propertyList": [
{
"ID": "072",
"Number": "415151",
"Address": "Somewhere"
},
{
"ID": "151",
"Number": "a800cc79-99d1-42f1-aeb4-808087b12c9b",
"Address": "ninink"
},
{
"ID": "269",
"Number": "",
"Address": ""
},
],
},
"resultList" :[]
}
我如何打印或保存这个 JSON 字符串,与 rest 客户端中的响应相同,即我不想打印 null 或空值字段,我只想忽略它们。
【问题讨论】:
-
我怀疑是这个 JSON 字符串到你的 Java 对象的转换,它在保存到数据库之前添加了这些值。
-
如何解决这个问题??
-
首先通过直接查询数据库来验证是否确实如此。如果这是真的,那么也为这个 JSON 发布你的域类。
-
我只想打印没有空字段的值