json-repair 0.11.1__py3-none-any.whl → 0.12.0__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.
@@ -177,12 +177,16 @@ class JSONParser:
177
177
 
178
178
  # Flag to manage corner cases related to missing starting quote
179
179
  fixed_quotes = False
180
+ double_double_quotes = False
180
181
  lstring_delimiter = rstring_delimiter = '"'
181
182
  if isinstance(string_quotes, list):
182
183
  lstring_delimiter = string_quotes[0]
183
184
  rstring_delimiter = string_quotes[1]
184
185
  elif isinstance(string_quotes, str):
185
186
  lstring_delimiter = rstring_delimiter = string_quotes
187
+ if lstring_delimiter == '"' and self.get_char_at(1) == '"':
188
+ double_double_quotes = True
189
+ self.index += 1
186
190
  char = self.get_char_at()
187
191
  if char != lstring_delimiter:
188
192
  self.insert_char_at(lstring_delimiter)
@@ -242,6 +246,8 @@ class JSONParser:
242
246
  if char != rstring_delimiter:
243
247
  self.insert_char_at(rstring_delimiter)
244
248
  else:
249
+ if double_double_quotes:
250
+ self.index += 1
245
251
  self.index += 1
246
252
 
247
253
  return self.json_str[start:end]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: json_repair
3
- Version: 0.11.1
3
+ Version: 0.12.0
4
4
  Summary: A package to repair broken json strings
5
5
  Author-email: Stefano Baccianella <4247706+mangiucugna@users.noreply.github.com>
6
6
  License: MIT License
@@ -35,7 +35,7 @@ Requires-Python: >=3.7
35
35
  Description-Content-Type: text/markdown
36
36
  License-File: LICENSE
37
37
 
38
- This simple package can be used to repair a broken json file. To know all cases in which this package will work, check out the unit test.
38
+ This simple package can be used to fix an invalid json string. To know all cases in which this package will work, check out the unit test.
39
39
 
40
40
  Inspired by https://github.com/josdejong/jsonrepair
41
41
 
@@ -0,0 +1,7 @@
1
+ json_repair/__init__.py,sha256=p9mZnte8Bg18NcxqgJ7vopH2gQv_XbZ0dRnk686QuRE,92
2
+ json_repair/json_repair.py,sha256=zNamT7zlt0nl-isdXqgyiizmAYe0wiuZMV76t-7Kv8M,14313
3
+ json_repair-0.12.0.dist-info/LICENSE,sha256=wrjQo8MhNrNCicXtMe3MHmS-fx8AmQk1ue8AQwiiFV8,1076
4
+ json_repair-0.12.0.dist-info/METADATA,sha256=4oogqw_SdojZXacViq9ZU_Fl73JDxuJwkLDB7e5-3vE,6581
5
+ json_repair-0.12.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
6
+ json_repair-0.12.0.dist-info/top_level.txt,sha256=7-VZwZN2CgB_n0NlSLk-rEUFh8ug21lESbsblOYuZqw,12
7
+ json_repair-0.12.0.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- json_repair/__init__.py,sha256=p9mZnte8Bg18NcxqgJ7vopH2gQv_XbZ0dRnk686QuRE,92
2
- json_repair/json_repair.py,sha256=mzTDEwdp8hjrBL7R8RMZq17FHXwoEVaLtmi5b911dtQ,14071
3
- json_repair-0.11.1.dist-info/LICENSE,sha256=wrjQo8MhNrNCicXtMe3MHmS-fx8AmQk1ue8AQwiiFV8,1076
4
- json_repair-0.11.1.dist-info/METADATA,sha256=p_-EC77JWz9T4_4FO_OBnslATx247y1nyN0EsyuGWaA,6580
5
- json_repair-0.11.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
6
- json_repair-0.11.1.dist-info/top_level.txt,sha256=7-VZwZN2CgB_n0NlSLk-rEUFh8ug21lESbsblOYuZqw,12
7
- json_repair-0.11.1.dist-info/RECORD,,