json-repair 0.47.1__py3-none-any.whl → 0.47.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- json_repair/json_parser.py +9 -8
- {json_repair-0.47.1.dist-info → json_repair-0.47.2.dist-info}/METADATA +1 -1
- {json_repair-0.47.1.dist-info → json_repair-0.47.2.dist-info}/RECORD +7 -7
- {json_repair-0.47.1.dist-info → json_repair-0.47.2.dist-info}/WHEEL +0 -0
- {json_repair-0.47.1.dist-info → json_repair-0.47.2.dist-info}/entry_points.txt +0 -0
- {json_repair-0.47.1.dist-info → json_repair-0.47.2.dist-info}/licenses/LICENSE +0 -0
- {json_repair-0.47.1.dist-info → json_repair-0.47.2.dist-info}/top_level.txt +0 -0
json_repair/json_parser.py
CHANGED
@@ -97,13 +97,6 @@ class JSONParser:
|
|
97
97
|
elif char == "[":
|
98
98
|
self.index += 1
|
99
99
|
return self.parse_array()
|
100
|
-
# there can be an edge case in which a key is empty and at the end of an object
|
101
|
-
# like "key": }. We return an empty string here to close the object properly
|
102
|
-
elif self.context.current == ContextValues.OBJECT_VALUE and char == "}":
|
103
|
-
self.log(
|
104
|
-
"At the end of an object we found a key with missing value, skipping",
|
105
|
-
)
|
106
|
-
return ""
|
107
100
|
# <string> starts with a quote
|
108
101
|
elif not self.context.empty and (char in self.STRING_DELIMITERS or char.isalpha()):
|
109
102
|
return self.parse_string()
|
@@ -202,7 +195,15 @@ class JSONParser:
|
|
202
195
|
self.context.reset()
|
203
196
|
self.context.set(ContextValues.OBJECT_VALUE)
|
204
197
|
# The value can be any valid json
|
205
|
-
|
198
|
+
self.skip_whitespaces_at()
|
199
|
+
# Corner case, a lone comma
|
200
|
+
value: JSONReturnType = ""
|
201
|
+
if (self.get_char_at() or "") in [",", "}"]:
|
202
|
+
self.log(
|
203
|
+
"While parsing an object value we found a stray , ignoring it",
|
204
|
+
)
|
205
|
+
else:
|
206
|
+
value = self.parse_json()
|
206
207
|
|
207
208
|
# Reset context since our job is done
|
208
209
|
self.context.reset()
|
@@ -1,14 +1,14 @@
|
|
1
1
|
json_repair/__init__.py,sha256=6FDD6dEVM5Pb5o4Zodgw4ex30Hzy-YvNRy0vts9SQ4I,118
|
2
2
|
json_repair/__main__.py,sha256=EsJb-y89uZEvGQQg1GdIDWzfDwfOMvVekKEtdguQXCM,67
|
3
3
|
json_repair/json_context.py,sha256=WsMOjqpGSr6aaDONcrk8UFtTurzWon2Qq9AoBBYseoI,934
|
4
|
-
json_repair/json_parser.py,sha256=
|
4
|
+
json_repair/json_parser.py,sha256=34ClVO9cJtL_47PIbYe0Uu3Md30LRQcFaZOe2lTTNR4,40219
|
5
5
|
json_repair/json_repair.py,sha256=0qL2LuzlNJa3VnEqYNaJyZNAL2w18oAt2YvA-TlMxmY,11211
|
6
6
|
json_repair/object_comparer.py,sha256=LlIF0MisRglzC-CiG5AxAEDCBWBHeJd-6uXYx0uRmCk,1175
|
7
7
|
json_repair/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
8
8
|
json_repair/string_file_wrapper.py,sha256=tGkWBEUPE-CZPf4uSM5NE9oSDTpskX0myJiXsl-gbds,4333
|
9
|
-
json_repair-0.47.
|
10
|
-
json_repair-0.47.
|
11
|
-
json_repair-0.47.
|
12
|
-
json_repair-0.47.
|
13
|
-
json_repair-0.47.
|
14
|
-
json_repair-0.47.
|
9
|
+
json_repair-0.47.2.dist-info/licenses/LICENSE,sha256=wrjQo8MhNrNCicXtMe3MHmS-fx8AmQk1ue8AQwiiFV8,1076
|
10
|
+
json_repair-0.47.2.dist-info/METADATA,sha256=jcY7RmAHk6yS1C68gsbZS26xZndDJzeo9ZudgI5JABM,12368
|
11
|
+
json_repair-0.47.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
12
|
+
json_repair-0.47.2.dist-info/entry_points.txt,sha256=SNfge3zPSP-ASqriYU9r3NAPaXdseYr7ciPMKdV2uSw,57
|
13
|
+
json_repair-0.47.2.dist-info/top_level.txt,sha256=7-VZwZN2CgB_n0NlSLk-rEUFh8ug21lESbsblOYuZqw,12
|
14
|
+
json_repair-0.47.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|