Reputation: 314
I am trying to read JSON File but it gives error as below
Data reference: https://github.com/ankitgoel1602/data-science/blob/master/json-data/level_1.json https://github.com/ankitgoel1602/data-science/blob/master/json-data/multiple_levels.json
Code
with open("multiple_levels.json", 'r') as j:
contents = json.loads(j.read())
Error:
---------------------------------------------------------------------------
JSONDecodeError Traceback (most recent call last)
<ipython-input-14-0fce326c8851> in <module>
1 with open("multiple_levels.json", 'r') as j:
----> 2 contents = json.loads(j.read())
~\AppData\Local\Continuum\anaconda3\lib\json\__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
346 parse_int is None and parse_float is None and
347 parse_constant is None and object_pairs_hook is None and not kw):
--> 348 return _default_decoder.decode(s)
349 if cls is None:
350 cls = JSONDecoder
~\AppData\Local\Continuum\anaconda3\lib\json\decoder.py in decode(self, s, _w)
335
336 """
--> 337 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
338 end = _w(s, end).end()
339 if end != len(s):
~\AppData\Local\Continuum\anaconda3\lib\json\decoder.py in raw_decode(self, s, idx)
353 obj, end = self.scan_once(s, idx)
354 except StopIteration as err:
--> 355 raise JSONDecodeError("Expecting value", s, err.value) from None
356 return obj, end
JSONDecodeError: Expecting value: line 7 column 1 (char 6)
Upvotes: 0
Views: 544
Reputation: 25564
you can directly load the json from the web if you use the "raw content" URL:
import json
import urllib.request
url = "https://raw.githubusercontent.com/ankitgoel1602/data-science/master/json-data/multiple_levels.json"
with urllib.request.urlopen(url) as r:
data = json.loads(r.read().decode())
print(data)
[{'Scaler': 'Standard', 'family_min_samples_percentage': 5, 'original_number_of_clusters': 4,
'Results': [{'eps_value': 0.1, 'min_samples': 5, 'number_of_clusters': 9, 'number_of_noise_samples': 72,
'scores': {'adjusted_rand_index': 0.0012946494377947854,
'adjusted_mutual_info_score': 0.008962599716725805, 'homogeneity_score': ...
Upvotes: 1
Reputation: 12684
the problem is when you download a file from github and not with your code.
The file contents in github is not what you see when you simply do "save links as"
As a solution, you can go to the github repo and download it as a zip (see attached)
OR since the file json-data/level-1.json is small, simply do a copy/paste and save into your text editor.
This is the result when the file is properly downloaded from github.
Here is the contents of the file doing a "save links as".
Look at line 7, where your code is complaining.
Upvotes: 1