如何动态创建Json对象?

如何动态创建Json对象?,json,jsonobject,Json,Jsonobject,我想使用Java从下面的字符串创建一个Json对象 {"attributes":{"numvcpus":1,"memsize":3072},"id":"OS Node","type":"image"} 如果我知道字符串是什么,我可以创建一个Json对象,如下所示 JsonObject jObj = Json.createObjectBuilder() .add("attributes",Json.createObjectBuilder() .add("numvcpus",1) .add("

我想使用Java从下面的字符串创建一个Json对象

{"attributes":{"numvcpus":1,"memsize":3072},"id":"OS Node","type":"image"}
如果我知道字符串是什么,我可以创建一个Json对象,如下所示

JsonObject jObj = Json.createObjectBuilder()
.add("attributes",Json.createObjectBuilder() 
.add("numvcpus",1) 
.add("memsize",3072))
.add("id", "OS node")
.add("type": "image").build();

但这里的问题是,我不知道嵌套的
json
对象中会有多少值,即
json
对象,它是“attributes”字段的值。可能还有其他字段,如
“disksize”:30,“lcpu”:4
等。是否有任何方法可以使用for循环和while循环动态创建
Json
对象

这是什么语言?我假设是Java,但您没有指定。我从您的问题中猜测,您的属性和值不是硬编码的。它们是来自阵列吗?对于David Barker的问题——我从一个网站收到一个Json响应,我将修改它并将修改后的Json发送回服务器。因此,yes属性是硬编码的,但在属性后面的json对象中可以有许多键值对。