Java 无法正确创建JSON

Java 无法正确创建JSON,java,json,Java,Json,我正在尝试以下程序 package com; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.Map; import java.util.StringTokenizer; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public class Test

我正在尝试以下程序

  package com;


import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.StringTokenizer;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class Test {
    public static void main(String[] args) throws JSONException {



}
在这里之前我一直很成功


在leaf之前,它一直在生成jsom,从那时起我就完全迷失了方向。

我不确定在您的实现中,您是否试图通过循环或递归来实现这一点,但是将值硬编码到
JSONObject
中,您可以通过以下方法来实现所需的结构:

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class Test {
    public static void main(String[] args) throws JSONException {
        JSONObject leaf = new JSONObject().put("name", "500 ML");
        JSONObject lemon = new JSONObject().put("name", "Lemon").put("leaf", new JSONArray().put(leaf));
        JSONObject orange = new JSONObject().put("name", "Orange").put("leaf", new JSONArray().put(leaf));
        JSONArray t3Array = new JSONArray().put(lemon).put(orange);
        JSONObject bottled = new JSONObject().put("name", "Bottled").put("T3", t3Array);
        JSONObject fountain = new JSONObject().put("name", "Fountain").put("T3", t3Array);
        JSONObject softDrink = new JSONObject().put("T2", new JSONArray().put(bottled).put(fountain));
        JSONObject json = new JSONObject().put("Soft Drinks", softDrink);

        System.out.println(json);
    }
}

您似乎正在生成有效的JSON。“完全丢失”是什么意思?@davidermann,我无法将leafobj放入t3data中,你能帮忙吗?你能举个例子说明你输出的json不正确吗?请给我一分钟,我一次粘贴一层。弄清楚如何创建
{name:“Lemon”,“leaf:[{name:“500ml”}]}
和它的兄弟姐妹,然后担心它们会去哪里。请注意不要在对象之间“重用”,因为每个对象必须保持不变,直到整个结构组合在一起。非常感谢,我将尝试在我的代码中使用它。Np,如果可以在您的项目中包含它,那么使用JSON会更容易一些。