JSONObject は 名前/値ペアの順序なしコレクションであり、Map はマッピング キーです。オブジェクトから値へ。マップには 重複した keys を含めることはできず、各キーは最大 1 つの値にマップできます。 JSON-lib ライブラリを使用して、マップを JSON 形式で serialize および deserialize する必要があります。最初に、POJO クラスを作成し、そのインスタンスをパラメータとして Map クラスの put() メソッドに渡し、最後にこのマップ インスタンスを accumulateAll JSONObject メソッドに追加します。 。
Syntaxpublic void accumulateAll(Map map)
import java.util.*; import net.sf.json.JSONObject; public class ConvertMapToJSONObjectTest { public static void main(String[] args)throws Exception { JSONObject jsonObject = new JSONObject(); Map<Integer, Employee> employees = new HashMap<Integer, Employee>(); employees.put(1, new Employee("Adithya", "Jai", 30)); employees.put(2, new Employee("Vamsi", "Krishna", 28)); employees.put(3, new Employee("Chaitanya", "Sai", 30)); jsonObject.accumulateAll(employees); System.out.println(jsonObject.toString(3)); // pretty print JSON } public static class Employee { private String firstName, lastName; private int age; public Employee(String firstName, String lastName, int age) { super(); this.firstName = firstName; this.lastName = lastName; this.age = age; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public int getAge() { return age; } } }
{ "1": { "firstName": "Adithya", "lastName": "Jai", "age": 30 }, "2": { "firstName": "Vamsi", "lastName": "Krishna", "age": 28 }, "3": { "firstName": "Chaitanya", "lastName": "Sai", "age": 30 } }
以上がJavaでJSON-lib APIを使用してMapをJSONオブジェクトに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。