@@ -37,6 +37,7 @@ print(JDKSObject)
37
37
38
38
# OUTPUT: <json_duplicate_keys.JSON_DUPLICATE_KEYS object at 0x00000270AE987940>
39
39
```
40
+ ---
40
41
41
42
### load(` Jfilepath ` , ` dupSign_start ` ="{{{", ` dupSign_end ` ="}}}", ` ordered_dict ` =False, ` _isDebug_ ` =True)
42
43
_ Deserialize a JSON format string from a file to a class ` JSON_DUPLICATE_KEYS ` _
@@ -58,6 +59,7 @@ print(JDKSObject)
58
59
59
60
# OUTPUT: <json_duplicate_keys.JSON_DUPLICATE_KEYS object at 0x00000270AE986D40>
60
61
```
62
+ ---
61
63
62
64
### JSON_DUPLICATE_KEYS.getObject()
63
65
_ Get the JSON object_
@@ -72,6 +74,7 @@ print(JDKSObject.getObject())
72
74
73
75
# 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'}]}}
74
76
```
77
+ ---
75
78
76
79
### JSON_DUPLICATE_KEYS.get(` name ` , ` separator ` ="||", ` parse_index ` ="$", ` _isDebug_ ` =True)
77
80
_ Get value in the JSON object by ` name ` _
@@ -95,11 +98,12 @@ print(JDKSObject.get("release||$0$"))
95
98
print (JDKSObject.get(" snapshot||author" ))
96
99
# OUTPUT: truocphan
97
100
```
101
+ ---
98
102
99
103
### JSON_DUPLICATE_KEYS.set(` name ` , ` value ` , ` separator ` ="||", ` parse_index ` ="$", ` dupSign_start ` ="{{{", ` dupSign_end ` ="}}}", ` ordered_dict ` =False, ` _isDebug_ ` =True)
100
104
_ 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 `
103
107
- ` separator ` :
104
108
- ` parse_index ` :
105
109
- ` dupSign_start ` :
@@ -109,23 +113,56 @@ _Set a new `name` and `value` for the JSON object_
109
113
``` python
110
114
import json_duplicate_keys as jdks
111
115
112
- JDKSObject = jdks.loads(' {} ' )
116
+ Jstr = ' {} '
117
+ JDKSObject = jdks.loads(Jstr)
118
+
113
119
print (JDKSObject.getObject())
114
- # OUTPUT:
120
+ # OUTPUT: {}
115
121
116
122
JDKSObject.set(" author" , " truocphan" )
117
123
print (JDKSObject.getObject())
118
- # OUTPUT:
124
+ # OUTPUT: {'author': 'truocphan'}
119
125
120
126
JDKSObject.set(" version" , " 22.3.3" )
127
+ print (JDKSObject.getObject())
128
+ # OUTPUT: {'author': 'truocphan', 'version': '22.3.3'}
129
+
121
130
JDKSObject.set(" version" , " latest" )
122
131
print (JDKSObject.getObject())
123
- # OUTPUT:
132
+ # OUTPUT: {'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': 'latest'}
124
133
125
- JDKSObject.set(" release||$0$||version " , " latest" )
134
+ JDKSObject.set(" release" , [{ " version " : " latest" }] )
126
135
print (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'}]}]
128
164
```
165
+ ---
129
166
130
167
### JSON_DUPLICATE_KEYS.update(` name ` , ` value ` , ` separator ` ="||", ` parse_index ` ="$", ` _isDebug_ ` =True)
131
168
_ Update new ` value ` for existing ` name ` in the JSON object_
@@ -150,6 +187,7 @@ JDKSObject.update("snapshot||version", "latest")
150
187
print (JDKSObject.getObject())
151
188
# OUTPUT: {'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': ['22.3.3', 'latest'], 'release': [{'version': 'latest'}], 'snapshot': {'author': 'truocphan', 'version': 'latest', 'release': [{'version': 'latest'}]}}
152
189
```
190
+ ---
153
191
154
192
### JSON_DUPLICATE_KEYS.delete(` name ` , ` separator ` ="||", ` parse_index ` ="$", ` _isDebug_ ` =True)
155
193
_ Delete a key-value pair in a JSON object by key ` name ` _
@@ -174,6 +212,7 @@ JDKSObject.delete("snapshot")
174
212
print (JDKSObject.getObject())
175
213
# OUTPUT: {'author': 'truocphan', 'version{{{_2_}}}': 'latest', 'release': []}
176
214
```
215
+ ---
177
216
178
217
### 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)
179
218
_ Serialize a JSON object to a JSON format string_
@@ -198,6 +237,7 @@ JDKSObject.delete("snapshot")
198
237
print (JDKSObject.dumps())
199
238
# OUTPUT: {"author": "truocphan", "version": "latest", "release": []}
200
239
```
240
+ ---
201
241
202
242
### 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)
203
243
_ Serialize a JSON object to a JSON format string and write to a file_
@@ -227,6 +267,7 @@ JDKSObject_load = jdks.load(Jfilepath)
227
267
print (JDKSObject_load.getObject())
228
268
# OUTPUT: {'author': 'truocphan', 'version': 'latest', 'release': []}
229
269
```
270
+ ---
230
271
231
272
### JSON_DUPLICATE_KEYS.flatten(` separator ` ="||", ` parse_index ` ="$", ` ordered_dict ` =False, ` _isDebug_ ` =True)
232
273
_ Flatten a JSON object to a single key-value pairs_
@@ -249,6 +290,7 @@ JDKSObject.flatten()
249
290
print (JDKSObject.getObject())
250
291
# 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'}
251
292
```
293
+ ---
252
294
253
295
### JSON_DUPLICATE_KEYS.unflatten(` separator ` ="||", ` parse_index ` ="$", ` ordered_dict ` =False, ` _isDebug_ ` =True)
254
296
_ Unflatten a flattened JSON object back to a JSON object_
@@ -257,4 +299,18 @@ _Unflatten a flattened JSON object back to a JSON object_
257
299
- ` ordered_dict ` : preserves the order in which the Keys are inserted
258
300
- ` _isDebug_ ` : Show/ Hide debug error messages
259
301
``` 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