@@ -37,6 +37,7 @@ print(JDKSObject)
3737
3838# OUTPUT: <json_duplicate_keys.JSON_DUPLICATE_KEYS object at 0x00000270AE987940>
3939```
40+ ---
4041
4142### load(` Jfilepath ` , ` dupSign_start ` ="{{{", ` dupSign_end ` ="}}}", ` ordered_dict ` =False, ` _isDebug_ ` =True)
4243_ Deserialize a JSON format string from a file to a class ` JSON_DUPLICATE_KEYS ` _
@@ -58,6 +59,7 @@ print(JDKSObject)
5859
5960# OUTPUT: <json_duplicate_keys.JSON_DUPLICATE_KEYS object at 0x00000270AE986D40>
6061```
62+ ---
6163
6264### JSON_DUPLICATE_KEYS.getObject()
6365_ Get the JSON object_
@@ -72,6 +74,7 @@ print(JDKSObject.getObject())
7274
7375# OUTPUT: {'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': 'latest', 'release': [{'version': '22.3.3', 'version{{{_2_}}}': 'latest'}], 'snapshot': {'author': 'truocphan', 'version': '22.3.3', 'release': [{'version': 'latest'}]}}
7476```
77+ ---
7578
7679### JSON_DUPLICATE_KEYS.get(` name ` , ` separator ` ="||", ` parse_index ` ="$", ` _isDebug_ ` =True)
7780_ Get value in the JSON object by ` name ` _
@@ -95,11 +98,12 @@ print(JDKSObject.get("release||$0$"))
9598print (JDKSObject.get(" snapshot||author" ))
9699# OUTPUT: truocphan
97100```
101+ ---
98102
99103### JSON_DUPLICATE_KEYS.set(` name ` , ` value ` , ` separator ` ="||", ` parse_index ` ="$", ` dupSign_start ` ="{{{", ` dupSign_end ` ="}}}", ` ordered_dict ` =False, ` _isDebug_ ` =True)
100104_ Set a new ` name ` and ` value ` for the JSON object_
101- - ` name ` :
102- - ` value ` :
105+ - ` name ` : new key name for the JSON object. Supported flat key name format
106+ - ` value ` : value for key ` name `
103107- ` separator ` :
104108- ` parse_index ` :
105109- ` dupSign_start ` :
@@ -109,23 +113,56 @@ _Set a new `name` and `value` for the JSON object_
109113``` python
110114import json_duplicate_keys as jdks
111115
112- JDKSObject = jdks.loads(' {} ' )
116+ Jstr = ' {} '
117+ JDKSObject = jdks.loads(Jstr)
118+
113119print (JDKSObject.getObject())
114- # OUTPUT:
120+ # OUTPUT: {}
115121
116122JDKSObject.set(" author" , " truocphan" )
117123print (JDKSObject.getObject())
118- # OUTPUT:
124+ # OUTPUT: {'author': 'truocphan'}
119125
120126JDKSObject.set(" version" , " 22.3.3" )
127+ print (JDKSObject.getObject())
128+ # OUTPUT: {'author': 'truocphan', 'version': '22.3.3'}
129+
121130JDKSObject.set(" version" , " latest" )
122131print (JDKSObject.getObject())
123- # OUTPUT:
132+ # OUTPUT: {'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': 'latest'}
124133
125- JDKSObject.set(" release||$0$||version " , " latest" )
134+ JDKSObject.set(" release" , [{ " version " : " latest" }] )
126135print (JDKSObject.getObject())
127- # OUTPUT:
136+ # OUTPUT: {'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': 'latest', 'release': [{'version': 'latest'}]}
137+
138+ JDKSObject.set(" snapshot" , {})
139+ print (JDKSObject.getObject())
140+ # OUTPUT: {'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': 'latest', 'release': [{'version': 'latest'}], 'snapshot': {}}
141+
142+ JDKSObject.set(" snapshot||author" , " truocphan" )
143+ print (JDKSObject.getObject())
144+ # OUTPUT: {'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': 'latest', 'release': [{'version': 'latest'}], 'snapshot': {'author': 'truocphan'}}
145+
146+
147+ Jstr = ' []'
148+ JDKSObject = jdks.loads(Jstr)
149+
150+ print (JDKSObject.getObject())
151+ # OUTPUT: []
152+
153+ JDKSObject.set(" author" , " truocphan" )
154+ print (JDKSObject.getObject())
155+ # OUTPUT: [{'author': 'truocphan'}]
156+
157+ JDKSObject.set(" release" , [])
158+ print (JDKSObject.getObject())
159+ # OUTPUT: [{'author': 'truocphan'}, {'release': []}]
160+
161+ JDKSObject.set(" $1$||release||" , {" version" : " latest" })
162+ print (JDKSObject.getObject())
163+ # OUTPUT: [{'author': 'truocphan'}, {'release': [{'version': 'latest'}]}]
128164```
165+ ---
129166
130167### JSON_DUPLICATE_KEYS.update(` name ` , ` value ` , ` separator ` ="||", ` parse_index ` ="$", ` _isDebug_ ` =True)
131168_ Update new ` value ` for existing ` name ` in the JSON object_
@@ -150,6 +187,7 @@ JDKSObject.update("snapshot||version", "latest")
150187print (JDKSObject.getObject())
151188# OUTPUT: {'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': ['22.3.3', 'latest'], 'release': [{'version': 'latest'}], 'snapshot': {'author': 'truocphan', 'version': 'latest', 'release': [{'version': 'latest'}]}}
152189```
190+ ---
153191
154192### JSON_DUPLICATE_KEYS.delete(` name ` , ` separator ` ="||", ` parse_index ` ="$", ` _isDebug_ ` =True)
155193_ Delete a key-value pair in a JSON object by key ` name ` _
@@ -174,6 +212,7 @@ JDKSObject.delete("snapshot")
174212print (JDKSObject.getObject())
175213# OUTPUT: {'author': 'truocphan', 'version{{{_2_}}}': 'latest', 'release': []}
176214```
215+ ---
177216
178217### JSON_DUPLICATE_KEYS.dumps(` dupSign_start ` ="{{{", ` dupSign_end ` ="}}}", ` _isDebug_ ` =True, ` skipkeys ` =False, ` ensure_ascii ` =True, ` check_circular ` =True, ` allow_nan ` =True, ` cls ` =None, ` indent ` =None, ` separators ` =None, ` default ` =None, ` sort_keys ` =False)
179218_ Serialize a JSON object to a JSON format string_
@@ -198,6 +237,7 @@ JDKSObject.delete("snapshot")
198237print (JDKSObject.dumps())
199238# OUTPUT: {"author": "truocphan", "version": "latest", "release": []}
200239```
240+ ---
201241
202242### JSON_DUPLICATE_KEYS.dump(` Jfilepath ` , ` dupSign_start ` ="{{{", ` dupSign_end ` ="}}}", ` _isDebug_ ` =True, ` skipkeys ` =False, ` ensure_ascii ` =True, ` check_circular ` =True, ` allow_nan ` =True, ` cls ` =None, ` indent ` =None, ` separators ` =None, ` default ` =None, ` sort_keys ` =False)
203243_ Serialize a JSON object to a JSON format string and write to a file_
@@ -227,6 +267,7 @@ JDKSObject_load = jdks.load(Jfilepath)
227267print (JDKSObject_load.getObject())
228268# OUTPUT: {'author': 'truocphan', 'version': 'latest', 'release': []}
229269```
270+ ---
230271
231272### JSON_DUPLICATE_KEYS.flatten(` separator ` ="||", ` parse_index ` ="$", ` ordered_dict ` =False, ` _isDebug_ ` =True)
232273_ Flatten a JSON object to a single key-value pairs_
@@ -249,6 +290,7 @@ JDKSObject.flatten()
249290print (JDKSObject.getObject())
250291# OUTPUT: {'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': 'latest', 'release||$0$||version': 'latest', 'snapshot||author': 'truocphan', 'snapshot||version': '22.3.3', 'snapshot||release||$0$||version': 'latest'}
251292```
293+ ---
252294
253295### JSON_DUPLICATE_KEYS.unflatten(` separator ` ="||", ` parse_index ` ="$", ` ordered_dict ` =False, ` _isDebug_ ` =True)
254296_ Unflatten a flattened JSON object back to a JSON object_
@@ -257,4 +299,18 @@ _Unflatten a flattened JSON object back to a JSON object_
257299- ` ordered_dict ` : preserves the order in which the Keys are inserted
258300- ` _isDebug_ ` : Show/ Hide debug error messages
259301``` python
260- ```
302+ import json_duplicate_keys as jdks
303+
304+ Jstr = ' {"author": "truocphan", "version": "22.3.3", "version": "latest", "release||$0$||version": "latest", "snapshot||author": "truocphan", "snapshot||version": "22.3.3", "snapshot||release||$0$||version": "latest"}'
305+
306+ JDKSObject = jdks.loads(Jstr)
307+
308+ print (JDKSObject.getObject())
309+ # OUTPUT:
310+
311+ JDKSObject.unflatten()
312+
313+ print (JDKSObject.getObject())
314+ # OUTPUT:
315+ ```
316+ ---
0 commit comments