当前位置: 移动技术网 > IT编程>开发语言>JavaScript > Object或者JSONObject转string,value为null时,key会消失

Object或者JSONObject转string,value为null时,key会消失

2020年11月22日  | 移动技术网IT编程  | 我要评论
字符串(类似这种有null值的“{“xx”:”xxx”,”aa”:null}”)转换成JSONObject不会出现问题,但是value属性为null的JSONObject或者Object转换成字符串时,对应value=null的key会消失:当字符串是 "{xxxx…“xxxx”:{xxxxxx…“xx”:null,xxxxx…},xxxxx…}“这样的情况转换成”[“xxx:xxx”,“xxx:xxxxx”,“xxxxx”…]"这种情况时,最外层字符串转换成JSONObject格式没问题,但里层的{}

字符串(类似这种有null值的“{“xx”:”xxx”,”aa”:null}”)转换成JSONObject不会出现问题,但是value属性为null的JSONObject或者Object转换成字符串时,对应value=null的key会消失:

在这里插入图片描述
当字符串是 "{xxxx…“xxxx”:{xxxxxx…“xx”:null,xxxxx…},xxxxx…}“这样的情况转换成”[“xxx:xxx”,“xxx:xxxxx”,“xxxxx”…]"这种情况时,最外层字符串转换成JSONObject格式没问题,但里层的{}包裹的对象转换JSONObject会出问题,value为null的key会消失。
这时可以用反射,当然要准备好一个对应{}内部对象的实体类,封装一下,然后通过反射得到全部的字段名,在循环挨个把字段名当做key,通过key找到value,赋值到自己建的List集合中,结束。
这里Object转换成string,用String.valueOf(),有些key会消失。

这是弃用的写的,因为得到的key得不全!
在这里插入图片描述

反射得到类的属性名(字段名)用到的方法:
在这里插入图片描述
//反射类的所有属性名
public static String[] getFiledName(Object o) {
//获得所有字段,无论private public protected
Field[] fields = o.getClass().getDeclaredFields();
//字段名放在这
String[] fieldNamStrings = new String[fields.length];
for (int i = 0; i < fieldNamStrings.length; i++) {
//一个一个getName找到属性名
fieldNamStrings[i] = fields[i].getName();
}
return fieldNamStrings;
}

当然,也可以反射得到value。

本文地址:https://blog.csdn.net/yanshenguiyi/article/details/109954726

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

  • JavaScript手写数组的常用函数总结

    前言在开发过程中,我们常常使用数组的一些 api 相关操作,其中包含 foreach 、 filter 、 find 、 findindex 、 map 、 s... [阅读全文]
  • Node.js文本文件BOM头的去除方法

    bom字节顺序标记(byte order mark),是位于码点u+feff的统一码字符的名称。当以utf-16或utf-32来将ucs/统一码字符所组成的字符... [阅读全文]
  • js异步接口并发数量控制的方法示例

    请实现如下的函数(发请求的函数可以直接使用fetch) 可以批量请求数据,所有的url地址在urls参数中 同时可以通过max参数 控制请求的并发度 当所... [阅读全文]
  • YOLOv3学习笔记之简单介绍

    YOLOv3学习笔记之简单介绍

    这里写自定义目录标题数据格式YOLOv3网络结构数据格式用于目标检测的数据集有VOC和COCO两种格式:VOC数... [阅读全文]
  • Python_XXBJ(1)基础知识

    编程语言的执行计算机执行源程序的两种方式:编译和解释源代码: 采用某种编程语言编写的计算机程序,人类可读。** ... [阅读全文]
  • urllib库爬取51job

    urllib库爬取51job

    urllib库爬取51job首先打开51job网页,分析网页结构,发现自己想要的字段全部在网页源码里,以json... [阅读全文]
  • 工作中常用js功能汇总

    一、javascript 中防止重复点击、防止点击过快防止重复点击可以添加一个开关,让这个开关默认为 true,第一次点击将其变为 false,点击事件的执行需... [阅读全文]
  • js实现日历

    这周写自己的项目发现又用到日历了,加之自己毕业之后的第一个工作中遇到的任务也是需要写个日历(组员写了,我就不用写了)今天就来好好折腾一下日历是怎么写的。首先,我... [阅读全文]
  • JS画布动态实现黑客帝国背景效果

    JS画布动态实现黑客帝国背景效果

    本文实例为大家分享了js画布动态实现黑客帝国背景效果的具体代码,供大家参考,具体内容如下效果图完整代码以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大... [阅读全文]
  • JS实现手风琴特效

    JS实现手风琴特效

    本文实例为大家分享了js实现手风琴特效的具体代码,供大家参考,具体内容如下效果图js代码css代码以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多... [阅读全文]
验证码:
移动技术网