JSONObject放入自定义类对象问题

jtyzyz 2011-08-24 03:47:01

JSONObject j = new JSONObject();
CallInfo[] c = new CallInfo[2];
c[0] = new CallInfo();
c[1] = new CallInfo();

c[0].callNum = "12345";
c[1].callNum = "54321";
j.put("aa", c);
j.put("bb", new String[] {"123" , "456"});
j.put("cc", new CallInfo[] {new CallInfo(), new CallInfo()});
System.out.println(j.toString());

输出结果:{"aa":[{},{}],"bb":["123","456"],"cc":[{},{}]}

CallInfo定义:

class CallInfo {
String callNum;
String pasword;

CallInfo() {
this.callNum = "l";
}

@Override
public String toString() {
return "CallInfo [callNum=" + callNum + ", pasword=" + pasword + "]";
}
}

为什么输出的aa、bb结果为空呢?
...全文
318 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
若鱼1919 2011-08-24
  • 打赏
  • 举报
回复
(1)把CallInfo这个类定义为public,放到单独的文件里面
(2)为CallInfo里面的字段提供get和set方法
yexiongMYBH 2011-08-24
  • 打赏
  • 举报
回复
你去看一看JSONObject的API,我觉得这个数组不是这么放进去的。而且你的这个CallInfo感觉写的也有问题。。

callNum和passWord是应该写成private的,然后提供get和set方法。
wangju309 2011-08-24
  • 打赏
  • 举报
回复
这个应该和变量c的toString是一样的,应该将c取出来之后这个数组里面的元素分别toString

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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