Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用反射将Java序列化为JSON字符串_Java_Json_Serialization_Reflection_Recursion - Fatal编程技术网

使用反射将Java序列化为JSON字符串

使用反射将Java序列化为JSON字符串,java,json,serialization,reflection,recursion,Java,Json,Serialization,Reflection,Recursion,好的,所以我刚刚在我大学的一门面向对象编程课上学习了一些高级主题,比如Java中的反射,我发现自己陷入了困境(无论如何对我来说)。我们被分配了一个任务,需要编写一个类似 public String serialize(Object o, Class<?> writeAs) 公共字符串序列化(对象o,类writeAs) 它接受对象o并使用类writeAs对其进行序列化,类writeAs是对象o的类型层次结构中最派生的类型,用于序列化对象o。该函数需要处理各种对象类型(以及原语),并

好的,所以我刚刚在我大学的一门面向对象编程课上学习了一些高级主题,比如Java中的反射,我发现自己陷入了困境(无论如何对我来说)。我们被分配了一个任务,需要编写一个类似

public String serialize(Object o, Class<?> writeAs)
公共字符串序列化(对象o,类writeAs)
它接受对象o并使用类writeAs对其进行序列化,类writeAs是对象o的类型层次结构中最派生的类型,用于序列化对象o。该函数需要处理各种对象类型(以及原语),并返回具有正确JSON表示形式(boolean/string/number/array/Object/null)的字符串,从而在JSON中序列化它。不允许使用Gson等任何东西。。。如果对象是Java数组或集合,则writea是其运行时类


如果serialize看到一个Java对象,则需要读取所有公共内容,并忽略它们的所有getter,除了它们显示的私有和受保护字段。还有很多规则,但我基本上只需要一些帮助就可以开始了。

好的,所以你需要做的第一件事就是让反射工作起来。这时你可以问一个更好的问题。参见: