java中json字符串移除指定属性
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
java中json字符串移除指定属性
选择正确的jar包
刚开始下载了json-lib-2.2-jdk15.jar包,但是程序报找不JSONObject,JSONArray类,在网上找json移除属性时找不到对应的方法,网上头说使用json需要导入其他相关的包,如commons-lang.jar,ezmorph.jar,commons-logging 1.1.1等等,我把包导了一遍折腾了好久还是运行不成功,后来才发现是包的问题,直接下载json.jar就可以了。
正文
在登录时为了不让用户看看到明文密码,当后台返回的是json格式的字符串,我们可以将json格式的字符串转换成json对象操作移除“password”,从下面数据中 将“password”移除返回
{"code":null,
"data":[{"password":"123","role":"aiyo","org":"caizhengju",
"createTime":"2016-08-13 00:36:27.0","nickname":"123",
"userId":"20B38E63-0B19-B465-3A98-64FEE841FDEC",
"username":"123"},{"password":"44","role":"lala","org":"sifaju",
"createTime":"2016-08-12 02:42:39.0","nickname":"44",
"userId":"8AFC589E-5080-4E25-41E4-139A765CA9D1","username":"44"}],
"success":true,"mgs":"查询成功"}
设result内容为以上json字符串
操作result移除password
JSONObject jsonObject=new JSONObject(s); //可以将json格式的字符串变成json对象
JSONArray jsonArray= (JSONArray) jsonObject.get("data");
输出jsonArray为:
[{"password":"123","role":"aiyo","org":"caizhengju",
"createTime":"2016-08-13 00:36:27.0","nickname":"123",
"userId":"20B38E63-0B19-B465-3A98-64FEE841FDEC",
"username":"123"},{"password":"44","role":"lala","org":"sifaju",
"createTime":"2016-08-12 02:42:39.0","nickname":"44",
"userId":"8AFC589E-5080-4E25-41E4-139A765CA9D1",
"username":"44"}]
JSONObject jb= (JSONObject) json.get(i); //得到对象中的第i条记录
我用一个for循环移除“数组中的password”
for (int i=0;i<jsonArray.length();i++) {
JSONObject jsonData = (JSONObject) jsonArray.get(i);//得到对象中的第i条记录
System.out.println("data[" + i + "]:" + jsonData.remove("password"));
}
输出:data[0]:123
data[1]:44
原来以为移除后需要把jsonArray对象put进jsonObject中,其实并不需要,移除后的jsonObject就已经在原来的对象中移除掉“password”.
System.out.println(String.valueOf(jsonObject));
输出:
{"code":null,"data":[{"role":"aaaaa","org":"nongyeju","createTime":"2016-08-12 01:39:44.0","nickname":"33","userId":"7B5FBB51-F93E-DEC2-BBBF-70480A3A9AF5","username":"33"}],"success":true,"mgs":"查询成功"}
这样就成功把password去除。
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
4 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献1条内容
所有评论(0)