1+ package com .xdestx .json ;
2+
3+ import java .util .Map ;
4+ import java .util .HashMap ;
5+
6+ public class JSONObject implements JOk {
7+
8+ private Map <String ,JOk > jsonMap ;
9+
10+ public JSONObject (Map <String ,JOk > objectMap ) {
11+ this .jsonMap = objectMap ;
12+ }
13+
14+ public JSONObject () {
15+ this .jsonMap = new HashMap <String , JOk >();
16+ }
17+
18+ //These put methods are for ease of use
19+
20+ public void put (String s , int n ) {
21+ put (s , new JNumber (n ));
22+ }
23+
24+ public void put (String s , double n ) {
25+ put (s , new JNumber (n ));
26+ }
27+
28+ public void put (String s , float n ) {
29+ put (s , new JNumber (n ));
30+ }
31+
32+ public void put (String s , short n ) {
33+ put (s , new JNumber (n ));
34+ }
35+
36+ public void put (String s , long n ) {
37+ put (s , new JNumber (n ));
38+ }
39+
40+ public void put (String s , Number ...n ) {
41+ JOk [] numbers = new JOk [n .length ];
42+ for (int i = 0 ; i < n .length ; i ++) {
43+ numbers [i ] = new JNumber (n [i ]);
44+ }
45+ put (s ,numbers );
46+ }
47+
48+ public void put (String s , boolean ...b ) {
49+ JOk [] bools = new JOk [b .length ];
50+ for (int i = 0 ; i < b .length ; i ++) {
51+ bools [i ] = new JBoolean (b [i ]);
52+ }
53+ put (s ,bools );
54+ }
55+
56+ public void put (String s , String ...strs ) {
57+ JOk [] jstrings = new JOk [strs .length ];
58+ for (int i = 0 ; i < jstrings .length ; i ++) {
59+ jstrings [i ] = new JString (strs [i ]);
60+ }
61+ put (s ,jstrings );
62+ }
63+
64+ public void put (String s , JOk [] arr ) {
65+ put (s , new JArray (arr ));
66+ }
67+
68+
69+ public void put (String s , String str ) {
70+ put (s ,new JString (str ));
71+ }
72+
73+ public void put (String s , JString str ) {
74+ jsonMap .put (s ,str );
75+ }
76+
77+ public void put (String s , JArray arr ) {
78+ jsonMap .put (s , arr );
79+ }
80+
81+ public void put (String s , JBoolean b ) {
82+ jsonMap .put (s ,b );
83+ }
84+
85+ public void put (String s , JNumber n ) {
86+ jsonMap .put (s ,n );
87+ }
88+
89+ public void put (String s , JOk j ) {
90+ jsonMap .put (s ,j );
91+ }
92+
93+
94+
95+ public Number getNumber (String s ) {
96+ return ((JNumber )jsonMap .get (s )).getValue ();
97+ }
98+
99+ public String getString (String s ) {
100+ return ((JString )jsonMap .get (s )).getValue ();
101+ }
102+
103+ public JOk [] getArray (String s ) {
104+ return ((JArray )jsonMap .get (s )).getArray ();
105+ }
106+
107+ public boolean getBoolean (String s ) {
108+ return ((JBoolean )jsonMap .get (s )).getValue ();
109+ }
110+
111+ public JSONObject getObject (String s ) {
112+ return (JSONObject )jsonMap .get (s );
113+ }
114+
115+
116+ public String toJSONString () {
117+ String finString = "" ;
118+ finString +="{" ;
119+ for (String s : jsonMap .keySet ()) {
120+ finString +="\" " + s + "\" :" + jsonMap .get (s ).toJSONString () +"," ;
121+ }
122+ finString = finString .substring (0 ,finString .length ()-1 );
123+ finString +="}" ;
124+ return finString ;
125+ }
126+
127+ public String toString () {
128+ return this .toJSONString ();
129+ }
130+
131+
132+
133+ }
0 commit comments