i have json file named "panamaleaks50k.json" . I want to get ['text'] field from json file but it shows me following error
the JSON object must be str, bytes or bytearray, not 'TextIOWrapper'
this is my code
with open('C:/Users/bilal butt/Desktop/PanamalEakJson.json','r') as lst:     b = json.loads(lst)     print(b['text'])   my json file look
[ {    "fullname": "Mohammad Fayyaz",    "id": "885800668862263296",    "likes": "0",    "replies": "0",    "retweets": "0",    "text": "Love of NS has been shown in PanamaLeaks scandal verified by JIT...",    "timestamp": "2017-07-14T09:58:31",    "url": "/mohammadfayyaz/status/885800668862263296",    "user": "mohammadfayyaz"  }, {   "fullname": "TeamPakistanPTI \u00ae",   "id": "885800910357749761",   "likes": "0",   "replies": "0",   "retweets": "0",   "text": "RT ArsalanISF: #PanamaLeaks is just a start. U won't believe whr...",   "timestamp": "2017-07-14T09:59:29",   "url": "/PtiTeampakistan/status/885800910357749761",   "user": "PtiTeampakistan"  } ]   how i can read all ['text'] and just single ['text'] field?
The method unique() from Numpy module can help us remove duplicate from the list given. The Pandas module has a unique() method that will give us the unique elements from the list given. The combination of list comprehension and enumerate is used to remove the duplicate elements from the list.
python - json. loads allows duplicate keys in a dictionary, overwriting the first value - Stack Overflow.
We can have duplicate keys in a JSON object, and it would still be valid.
You should pass the file contents (i.e. a string) to json.loads(), not the file object itself. Try this:
with open(file_path) as f:     data = json.loads(f.read())     print(data[0]['text'])   There's also the json.load() function which accepts a file object and does the f.read() part for you under the hood.
Use json.load(), not json.loads(), if your input is a file-like object (such as a TextIOWrapper).
Given the following complete reproducer:
import json, tempfile with tempfile.NamedTemporaryFile() as f:     f.write(b'{"text": "success"}'); f.flush()     with open(f.name,'r') as lst:         b = json.load(lst)         print(b['text'])   ...the output is success.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With