src/java.management.rest/share/classes/com/oracle/jmx/remote/rest/json/JSONObject.java
equal
deleted
inserted
replaced
|
1 /* |
|
2 * To change this license header, choose License Headers in Project Properties. |
|
3 * To change this template file, choose Tools | Templates |
|
4 * and open the template in the editor. |
|
5 */ |
|
6 package com.oracle.jmx.remote.rest.json; |
|
7 |
|
8 import java.util.LinkedHashMap; |
|
9 |
|
10 /** |
|
11 * @author harsha |
|
12 */ |
|
13 public class JSONObject extends LinkedHashMap<String, JSONElement> implements JSONElement { |
|
14 |
|
15 private static final long serialVersionUID = -9148596129640441014L; |
|
16 |
|
17 public JSONElement put(String key, String value) { |
|
18 return super.put(key, new JSONPrimitive(value)); //To change body of generated methods, choose Tools | Templates. |
|
19 } |
|
20 |
|
21 @Override |
|
22 public String toJsonString() { |
|
23 if (isEmpty()) { |
|
24 return null; |
|
25 } |
|
26 |
|
27 StringBuilder sbuild = new StringBuilder(); |
|
28 sbuild.append("{"); |
|
29 keySet().forEach((s) -> { |
|
30 sbuild.append("\"").append(s).append("\"").append(": "). |
|
31 append((get(s) != null) ? get(s).toJsonString() : "null").append(","); |
|
32 }); |
|
33 |
|
34 sbuild.deleteCharAt(sbuild.lastIndexOf(",")); |
|
35 sbuild.append("}"); |
|
36 return sbuild.toString(); |
|
37 } |
|
38 } |