Java 一个中有多个JsonObject.put

Java 一个中有多个JsonObject.put,java,json,microservices,Java,Json,Microservices,我在向java代码添加json时遇到问题, 我有这些参数 编译器显示错误,你能帮我吗 .put("person",new JsonObject().put("name",("Luis"), new JsonObject().put("phoneNumber",("526677777777")))) JSON: "person": { "name": "Luis", "phoneNumber": "526677777777" } 错误报告如下所示: 错误:(14747)java:找不到适合pu

我在向java代码添加json时遇到问题, 我有这些参数

编译器显示错误,你能帮我吗

.put("person",new JsonObject().put("name",("Luis"), new JsonObject().put("phoneNumber",("526677777777"))))
JSON:

"person": {
"name": "Luis",
"phoneNumber": "526677777777"
}
错误报告如下所示:

错误:(14747)java:找不到适合put的方法(java.lang.String、java.lang.String、io.vertx.core.json.JsonObject)


似乎您试图在json中添加太多的值,并且没有一个签名中包含三个参数的方法。我想你的代码有错误

put("name",("Luis"), new JsonObject().put("phoneNumber",("526677777777")))
(“Luis”)

也许应该是这样的:

    JsonObject person = new JsonObject();
    person.put(new  JsonObject("name", "Luis"));
    person.put(new  JsonObject("phoneNumber", "526677777777"));

根据您的示例
JSON
,应该只有两个JSON对象,而不是三个内部
JSON
对象包含
name
phoneNumber

它还有助于在单独的行上格式化内容,请尝试以下方法:

yourInitialObject.put("person",new JsonObject()
                              .put("name","Luis")
                              .put("phoneNumber","526677777777"));

下面的代码应该给出您期望的JSON结构

//create a json object to hold the json elements
JsonObject jsonElements = new JsonObject();
jsonElements.put("name","Luis");
jsonElements.put("phoneNumber","526677777777");
//now create another json object to hold the json element created
JsonObject jsonMain = new JsonObject();
jsonMain.put("person",jsonElements);

尝试将完整的代码块粘贴到抛出错误的地方。它的工作非常感谢。put(“person”,new JsonObject()。put(“name”,“Luis”)。put(“phoneNumber”,“5266777777”)@user12047512这是我写的解决方案,而不是Michel_T…他的解决方案是创建3
JsonObject
,这也不是正确的解决方案,当你只显示两个。