json-repair 0.15.2__tar.gz → 0.15.3__tar.gz
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-0.15.2/src/json_repair.egg-info → json_repair-0.15.3}/PKG-INFO +1 -1
- {json_repair-0.15.2 → json_repair-0.15.3}/pyproject.toml +1 -1
- {json_repair-0.15.2 → json_repair-0.15.3}/src/json_repair/json_repair.py +1 -1
- {json_repair-0.15.2 → json_repair-0.15.3/src/json_repair.egg-info}/PKG-INFO +1 -1
- {json_repair-0.15.2 → json_repair-0.15.3}/tests/test_json_repair.py +3 -0
- {json_repair-0.15.2 → json_repair-0.15.3}/LICENSE +0 -0
- {json_repair-0.15.2 → json_repair-0.15.3}/README.md +0 -0
- {json_repair-0.15.2 → json_repair-0.15.3}/setup.cfg +0 -0
- {json_repair-0.15.2 → json_repair-0.15.3}/src/json_repair/__init__.py +0 -0
- {json_repair-0.15.2 → json_repair-0.15.3}/src/json_repair.egg-info/SOURCES.txt +0 -0
- {json_repair-0.15.2 → json_repair-0.15.3}/src/json_repair.egg-info/dependency_links.txt +0 -0
- {json_repair-0.15.2 → json_repair-0.15.3}/src/json_repair.egg-info/top_level.txt +0 -0
- {json_repair-0.15.2 → json_repair-0.15.3}/tests/test_performance.py +0 -0
@@ -3,7 +3,7 @@ requires = ["setuptools>=61.0"]
|
|
3
3
|
build-backend = "setuptools.build_meta"
|
4
4
|
[project]
|
5
5
|
name = "json_repair"
|
6
|
-
version = "0.15.
|
6
|
+
version = "0.15.3"
|
7
7
|
license = {file = "LICENSE"}
|
8
8
|
authors = [
|
9
9
|
{ name="Stefano Baccianella", email="4247706+mangiucugna@users.noreply.github.com" },
|
@@ -78,7 +78,7 @@ class JSONParser:
|
|
78
78
|
elif char == "“":
|
79
79
|
return self.parse_string(string_quotes=["“", "”"])
|
80
80
|
# <number> starts with [0-9] or minus
|
81
|
-
elif char.isdigit() or char == "-":
|
81
|
+
elif char.isdigit() or char == "-" or char == ".":
|
82
82
|
return self.parse_number()
|
83
83
|
# <boolean> could be (T)rue or (F)alse or (N)ull
|
84
84
|
elif char.lower() in ["t", "f", "n"]:
|
@@ -111,6 +111,7 @@ def test_repair_json():
|
|
111
111
|
assert repair_json('{"key":"",}') == '{"key": ",}"}'
|
112
112
|
assert repair_json('{ "words": abcdef", "numbers": 12345", "words2": ghijkl" }') == '{"words": "abcdef", "numbers": 12345, "words2": "ghijkl"}'
|
113
113
|
assert repair_json('{"key": 1/3}') == '{"key": "1/3"}'
|
114
|
+
assert repair_json('{"key": .25}') == '{"key": 0.25}'
|
114
115
|
|
115
116
|
|
116
117
|
def test_repair_json_with_objects():
|
@@ -256,12 +257,14 @@ def test_repair_json_corner_cases_generate_by_gpt_with_objects():
|
|
256
257
|
assert repair_json('{"key": 10-20}', True) == {"key": "10-20"}
|
257
258
|
assert repair_json('{"key": 1.1.1}', True) == {"key": "1.1.1"}
|
258
259
|
|
260
|
+
|
259
261
|
def test_repair_json_skip_json_loads():
|
260
262
|
assert repair_json('{"key": true, "key2": false, "key3": null}', skip_json_loads=True) == '{"key": true, "key2": false, "key3": null}'
|
261
263
|
assert repair_json('{"key": true, "key2": false, "key3": null}', return_objects=True, skip_json_loads=True) == {"key": True, "key2": False, "key3": None}
|
262
264
|
assert repair_json('{"key": true, "key2": false, "key3": }', skip_json_loads=True) == '{"key": true, "key2": false, "key3": ""}'
|
263
265
|
assert loads('{"key": true, "key2": false, "key3": }', skip_json_loads=True) == {"key": True, "key2": False, "key3": ""}
|
264
266
|
|
267
|
+
|
265
268
|
def test_repair_json_from_file():
|
266
269
|
import os
|
267
270
|
import tempfile
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|