java中json字符串移除指定属性

2023-11-06

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去除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中json字符串移除指定属性 的相关文章

  • Java 中的 <-- 是什么? [复制]

    这个问题在这里已经有答案了 我遇到了下面的片段 它输出到4 3 2 1 我从来没有遇到过 lt 在爪哇 Is lt 使 var1 的值变为 var2 的运算符 public class Test public static void mai
  • 我对线程失去了理智

    我想要这个类的对象 public class Chromosome implements Runnable Comparable
  • 为什么用scala写的代码比用java写的慢6倍?

    我不确定我在编写 scala 代码时是否犯了一些错误 问题是 The four adjacent digits in the 1000 digit number that have the greatest product are 9 9
  • 未装饰窗户的 Windows Snap 功能?

    有谁知道如何允许未装饰的窗户使用此功能 唯一的选择就是重新实施它 有任何想法吗 谢谢 可停靠可能是唯一的JToolBar http docs oracle com javase tutorial uiswing components too
  • 将类转换为 JSONObject

    我有好几堂这样的课 我想将类转换为 JSONObject 格式 import java io Serializable import com google gson annotations SerializedName public cla
  • Java AES 256 加密

    我有下面的 java 代码来加密使用 64 个字符密钥的字符串 我的问题是这会是 AES 256 加密吗 String keyString C0BAE23DF8B51807B3E17D21925FADF273A70181E1D81B8EDE
  • 在 Spring 中为 @Pathvariable 添加类级别验证

    在发布这个问题之前 我已经做了很多研究并尝试了很多可用的解决方案 这是我陷入的棘手情况 我有一个 Spring 控制器 它有多个请求映射 它们都有 PathVariables 控制器如下所示 Controller EnableWebMvc
  • Mockito 和 Hamcrest:如何验证 Collection 参数的调用?

    我遇到了 Mockito 和 Hamcrest 的泛型问题 请假设以下界面 public interface Service void perform Collection
  • 如何在 IntelliJ IDEA 中运行 akka actor

    来自 Akka 网站文档 然后 这个主要方法将创建所需的基础设施 运行演员 启动给定的主要演员并安排 一旦主要参与者终止 整个应用程序就会关闭 因此 您将能够使用类似于以下的命令运行上面的代码 下列的 java classpath akka
  • 类更改(例如字段添加或删除)是否保持 Serialized 的向后兼容性?

    我有一个关于 Java 序列化的问题 在这种情况下 您可能需要修改可序列化类并保持向后兼容性 我有丰富的 C 经验 所以请允许我将 Java 与 NET 进行比较 在我的Java场景中 我需要使用Java的运行时序列化机制序列化一个对象 并
  • 按降序排序映射java8 [重复]

    这个问题在这里已经有答案了 private static
  • 如何向页面添加 HTML 页眉和页脚?

    如何使用 itext 从 html 源添加标题到 pdf 目前 我们已经扩展了 PdfPageEventHelper 并重写了这些方法 工作正常 但当我到达 2 个以上页面时 它会抛出 RuntimeWorkerException Over
  • 如何将 JSON 数据从 Android 发送到 php url?

    我想将登录信息从我的应用程序发送到 php url 因为这我的应用程序将崩溃 任何人都可以帮助我解决这个问题 这是我的服务器登录方法 我想将数据发送到此登录方法 Method public method login Parameters 3
  • Tomcat 6 未从 WEB-INF/lib 加载 jar

    我正在尝试找出我的 tomcat 环境中的配置问题 我们的生产服务器正在运行 tomcat 安装并从共享 NFS 挂载读取战争 然而 当我尝试使用独立的盒子 及其配置 进行同样的战争时 我收到下面发布的错误 有趣的是 如果我将 WEB IN
  • 文本视图不显示全文

    我正在使用 TableLayout 和 TableRow 创建一个简单的布局 其中包含两个 TextView 这是代码的一部分
  • titledBorder 标题中的图标

    您好 是否可以在 titledBorder 的标题中放置一个图标 例如以下代码 import java awt GridLayout import javax swing JFrame import javax swing JLabel i
  • 我所有的 java 应用程序现在都会抛出 java.awt.headlessException

    所以几天前我有几个工作Java应用程序使用Swing图书馆 JFrame尤其 他们都工作得很好 现在他们都抛出了这个异常 java awt headlessexception 我不知道是什么改变了也许我的Java版本不小心更新了 谢谢你尽你
  • 在 Java 中通过 D-Bus MPRIS 访问 Clementine 实例

    我使用 Clementine 作为音乐播放器 它可以通过 D Bus 命令进行控制 在命令行上 使用 qdbus 我可以 Start Stop 暂停播放器 强制它跳过播放列表中的歌曲 检查播放列表的长度 检查播放列表中当前播放的曲目及其元数
  • Java 的“&&”与“&”运算符

    我使用的示例来自 Java Herbert Schildt 的完整参考文献 第 12 版 Java 是 14 他给出了以下 2 个示例 如果阻止 第一个是好的 第二个是错误的 因此发表评论 public class PatternMatch
  • 关闭扫描仪是否会影响性能

    我正在解决一个竞争问题 在问题中 我正在使用扫描仪获取用户输入 这是 2 个代码段 一个关闭扫描器 一个不关闭扫描器 关闭扫描仪 import java util Scanner public class JImSelection publ

随机推荐

  • 参加2012中国数据库技术大会大会有感

    上周末参加了 DTCC Database Technology Conference China 2012中国数据库技术大会 见到了很多熟人 开了3天 好多议题 我去了后两天 第一天是周五 没好意思向公司请假 干货还是很多的 比某些扯淡的行
  • 代理服务器(Proxy)

    目录 1 什么是代理服务器 2 代理服务器的作用 3 代理服务器的工作流程 4 安装代理服务器软件及配置文件解析 squid 5 正向代理 6 修改数据存放位置 7 设置磁盘使用阈值 代理 两字顾名思义就是以代理人的身份去帮助其他人取得所需
  • C++数组:发工资

    题目描述 财务处要给公司的n位员工发工资了 请你帮助计算最少要多少张人民币才能给每位员工发工资而不必找零呢 已知人民币的面额为100元 50元 10元 5元 2元和1元这6种 输入格式 第一个值为正整数n 后面接着n个正整数表示n位员工的工
  • Python天文数据处理——Astropy

    前言 Astropy是一个用于天文数据处理的Python包 它包含了许多常用的天文学函数和工具 可以用于处理 分析和可视化各种类型的天文数据 Astropy最新版本是v4 3 官网地址为https www astropy org Astro
  • Django计算机毕业设计个性化大学生图书推荐系统(程序+LW)Python

    该项目含有源码 文档 程序 数据库 配套开发软件 软件安装教程 项目运行 环境配置 Pychram社区版 python3 7 7 Mysql5 7 HBuilderX list pip Navicat11 Django nodejs 项目技
  • Linux进行AES加密每次结果都不一致并且解密失败报错

    1 现象 windows操作系统下进行 123456 的AES加密 encrypted message is below QLNYZyjRnKF zxAjzDt lw decrypted message is below 123456 阿里
  • [数值分析拟合]Matlab三次样条插值拟合数据

    三次样条插值是一种运用极为广泛的工程插值算法 本文章编写的函数默认使用端点处的导数值代替给定的两端点的导数值使用三转角构造法进行插值 该函数也可传入端点导数数值进行分析 对数据进行方便而迅速的拟合 但是目前没有三弯矩构造法 一 三次样条插值
  • Qt信号槽——传递自定义数据类型

    Qt信号槽 传递自定义数据类型 Qt的信号槽机制支持传递int short double等C语言的基本类型的变量 也可以传递Qt自己的数据类型 但是在传递用户自己定义的数据类型 或其他数据类型是需要进行注册的 原因 当一个signal被放到
  • 解决python打包的exe程序运行报错闪退不留痕迹问题

    打了exe 运行的时候往往会因为找不到文件而报错闪退 此时根本不知道程序问题出在哪里 也因为程序执行太快而抓不到屏 最简单的方法如下 1 打开已打包好的exe文件目录 2 资源管理器输入cmd 运行命令行程序 3 命令行窗口内运行exe程序
  • JDBC与Mybitabs实习笔记

    JDBC与mybatis学习 JDBC的使用 1 导入依赖jar包 2 加载驱动类 3 创建连接对象 4 创建传输对象 SQL的执行器 将SQL语句传输给SQL服务器 5 执行SQL语句 6 关闭资源 1 导入依赖jar包 去mvnreoi
  • oracle存储过程----mybatis传入参数调用存储过程查询

    上一篇的链接是 oracle存储过程 异常的写法介绍 有这样的需求 比如共有表B1 B17 17张表 现在要求传入年度 行政区划 查询出所有符合条件的B1 B17的所有记录 当然 仅查询这些表中共同有的字段 因为这算是跨表查询了 一般我们写
  • vue基础入门

    1 vue简介 1 1 什么是vue 官方概念 Vue 读音 vju 类似于view 是一套用于构建用户界面的前端框架 1 2 vue 的特性 vue 框架的特性 主要体现在如下两方面 数据驱动视图 双向数据绑定 数据驱动视图 在使用了 v
  • 用 卡莱特A35播放盒子 在局域网内更新单行文本

    将播放盒和led正常连接之后 1 到官方网下载配套软件PlayerMaster 下载开发文档 2 使用配套软件 PlayerMaster 找到并查看目标设备的ip 3 在开发文档中找到 ColorlightRESTfulAPI V1 9 中
  • hive分桶表详解

    为什么要用分桶表 单个分区或者表中的数据量越来越大 当分区不能更细粒的划分数据时 所以会采用分桶技术将数据更细粒度的划分和管理 分区提供了一个隔离数据和优化查询的便利的方式 但是当分区的数量过多时 会产生过多的小分区 这样会给namenod
  • RedisTemplate集合使用说明-opsForList(二)

    1 leftPush K key V value 在变量左边添加元素值 Java代码 redisTemplate opsForList leftPush list a redisTemplate opsForList leftPush li
  • centos安装openssl

    安装环境 操作系统 CentOs6 3 OpenSSL Version openssl 1 0 0e tar gz 目前版本最新的SSL地址为http www openssl org source openssl 1 0 0e tar gz
  • IDEA Artifacts:Error during artifact deployment的问题:

    在本地启动tomact服务器的时候 总会出现这样的问题 我的这个项目的多工程 一个工程下面有好多依赖工程 首先确保项目是有这个蓝色图标 如果没有 如果没有在project strucure Modules 点击 导入module 然后下一步
  • 一句话木马、security_file_priv、into outfile、my.ini、sqli-labs-Less7

    sqli labs Less7闯关会用到一句话木马 http 127 0 0 1 Less 7 id 1 union select 1 2 into outfile C hackfiles sqli labs master Less 7 m
  • typec转usb不识别u盘_U盘插入电脑没反应?只需一招,教你轻松解决USB无法识别的问题!...

    说到U盘大家会想到什么呢 其实U盘作为我们日常生活中最为常用的USB设备 用处十分的多 除了日常的资料的存储 转移之外 它还可以作为系统重装的重要工具 是不是没想到它那么厉害呢 不过呢 意外的事情 说来就来 也没法挡住 U盘作为经常使用的工
  • java中json字符串移除指定属性

    java中json字符串移除指定属性 选择正确的jar包 刚开始下载了json lib 2 2 jdk15 jar包 但是程序报找不JSONObject JSONArray类 在网上找json移除属性时找不到对应的方法 网上头说使用json