Java 如何仅定义带有键的JSONObject

Java 如何仅定义带有键的JSONObject,java,json,Java,Json,我想创建一个JSON对象并定义它的键。稍后我将初始化它的值。有办法吗? 在初始化JSONObject的值之前和定义它之后打印JSONObject时,我希望这样: 教育:{“姓名”:“年份”:“资格”:} i、 e只有键存在,不存在它们的值。我如何定义这个“教育”对象。我知道它的定义可以是: JSONObject教育=新建JSONObject() 但是这里的键放在哪里呢?您可以简单地创建一个JSON对象,然后将每个属性放在一个空字符串中 代码如下: JSONObject education = n

我想创建一个JSON对象并定义它的键。稍后我将初始化它的值。有办法吗? 在初始化JSONObject的值之前和定义它之后打印JSONObject时,我希望这样:

教育:{“姓名”:“年份”:“资格”:}

i、 e只有键存在,不存在它们的值。我如何定义这个“教育”对象。我知道它的定义可以是:

JSONObject教育=新建JSONObject()


但是这里的键放在哪里呢?

您可以简单地创建一个JSON对象,然后将每个属性放在一个空字符串中

代码如下:

JSONObject education = new JSONObject();
education.put("name",new String());
education.put("year",new String()); 
education.put("qualification",new String());

您不能只定义键。你想说的是我想要这些字段,但没有定义这些字段的类型。所以即使假设它是允许的,你怎么知道这个字段的值会是什么呢

education:{ "name":"", "year":, "qualification": }
仅从这个声明,我们无法确定name又是一个JSON对象吗?还是字符串字段?其他领域也是如此

因此,查询的解决方案是,为这些字段设置默认值。例如,如果是字符串,则使用“”(空字符串),如果是对象,则使用null


然后,当你得到实际值时,你可以修改它们。

不,你不能,用空值而不是无值来准备json。那你以后就可以填了。你试过了吗?我很快就找到了。请检查。空值能解决您的问题吗<代码>教育:{“姓名”:null,“年份”:null,“资格”:null}