我用json返回一些字段,但是调用接口返回发现没有这个字段,例:我定义了一个HashMap,名叫body,里面有一个Key→Value字段,对应的是class→空,但是我看最终返回的body里没有class这个字段,假如说我把Key改成class1等就可以返回。想问下各位大神,为什么不能返回叫class的key啊?这个是json进行了过滤还是java本身进行了过滤?希望有大神能详细解答下,灰常感谢!我用的是包是json-lib-2.3-jdk15.jar
最后解决了,在json配置类中进行下设置
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setIgnoreDefaultExcludes(true);
忽略java关键字即可,不过还是谢谢各位的回答
java json返回值问题
答案:4 悬赏:80 手机版
解决时间 2021-04-11 21:24
- 提问者网友:兔牙战士
- 2021-04-11 10:02
最佳答案
- 五星知识达人网友:等灯
- 2021-04-11 11:13
你可以用JsonObject这个类相关方法,具体如下:
把Map转换成json, 要使用jsonObject对象:
Map<String, Object> map = new HashMap<String, Object>();
map.put("userId", 1001);
map.put("userName", "张三");
map.put("userSex", "男");
JSONObject jsonObject = JSONObject.fromObject(map);
System.out.println(jsonObject);
把List转换成json, 要使用jsonObject对象:
List<UserInfo> list = new ArrayList<UserInfo>();
UserInfo user = new UserInfo(1001, "张三");
list.add(user);
list.add(user);
list.add(user);
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray);
把Map转换成json, 要使用jsonObject对象:
Map<String, Object> map = new HashMap<String, Object>();
map.put("userId", 1001);
map.put("userName", "张三");
map.put("userSex", "男");
JSONObject jsonObject = JSONObject.fromObject(map);
System.out.println(jsonObject);
把List转换成json, 要使用jsonObject对象:
List<UserInfo> list = new ArrayList<UserInfo>();
UserInfo user = new UserInfo(1001, "张三");
list.add(user);
list.add(user);
list.add(user);
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray);
全部回答
- 1楼网友:话散在刀尖上
- 2021-04-11 13:44
class是java的关键字
- 2楼网友:有你哪都是故乡
- 2021-04-11 13:28
进行传值命名的时候尽量避免java关键字
- 3楼网友:青尢
- 2021-04-11 11:52
data: 'poststr',
你打引号干什么?
data: poststr
poststr 也有问题
var poststr = "do=getdiscountmoney&compcode=''&shopid=''&cardidormobile=" + cardid + "& totalmoney=" + price + "&masteraccount=" + option + "&wechatid=''";
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯