请教个json null问题!

zh545450173 2014-11-11 12:15:06

大家好 学习json中遇到一些问题 求指教!
使用的json的jar包是 org.json
我有一个java bean

public class user{
int id;
String name;
String address;
......省略一万字
}

public static void main(String[] args) {
user u = new user();
u.name="zhangsan";
JSONObject obj = new JSONObject(u);
System.out.println(obj .toString());
//控制台输出如下
//{"id":0,"name":"zhangsan","address":null}
}

1.我如何让address输出的结果不是null而是一个""空值呢?因为我的bean是数据库动态获取


而我使用的一些第三方的工具有时候会把这个null值认为是字符串 而输出到页面上,请问大

家如何在
不修改bean的基础上达到json输出的效果如下:

{"id":0,"name":"zhangsan","address":""}
...全文
213 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
画虎烂 2014-11-12
  • 打赏
  • 举报
回复
在实体类的各属性生成get、set方法,然后

......
public String getAddress(){
        if(address==null){
               return "";
        }
    return address;
}
.....
IT人.阿标 2014-11-12
  • 打赏
  • 举报
回复
自己写一个子类继承自JSONObject ,然后重写它的getString(String name)方法: /** * Returns the value mapped by {@code name} if it exists, coercing it if * necessary. * * @throws JSONException if no such mapping exists. */ public String getString(String name) throws JSONException { Object object = get(name); String result = JSON.toString(object); if (result == null) { throw JSON.typeMismatch(name, object, "String"); } return result; } 代码中看到当object为null的时候,会直接JSON.toString(object),返回就是"null"了,想要控制,就在当object为null对象的时候直接返回""就行了,可以不用一一去处理了
zh545450173 2014-11-11
  • 打赏
  • 举报
回复
另外说一下 我的数据库中有300+张表 而且我们的系统之前是很成熟已经正式上线的项目,因为要添加手机端功能要进行二次开发,最后在不修改javabean的情况下达到 要求。。
congatmoon 2014-11-11
  • 打赏
  • 举报
回复
我一般都是在bean里面写一个去空函数,不过你不能修改的话,可以在其他地方处理。个人认为: 1、保存读取数据库的时候判断;2、生成json后对json遍历判断;3、前台显示de时候判断。
Kifile 2014-11-11
  • 打赏
  • 举报
回复
要不在手机端手动判别一下,如果为 null,就默认为空,不过这样可能导致一个问题,就是你本来的字段就叫做 null,然后置空了,不过一般没有什么字段会被叫做 null 的吧
zh545450173 2014-11-11
  • 打赏
  • 举报
回复
好吧。。。。。。。。。。。。。。。。。

80,360

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧