मेरे पास data.json नाम के साथ एक json फ़ाइल है और यहाँ शामिल डेटा का रूप है:

{
"created_at": "Fri Oct 12 00:00:00 +0000 2012", "text": "ottimes daily top stories ghostlightning secretanimelov erojunko",
 "user": {"id": 163444845, "followers_count": 853},
 "retweet_count": 0,
 "entities": {"hashtags": [], "user_mentions": []}}

और मैं सिर्फ "हैशटैग" फ़ील्ड का मान निकालना चाहता हूं। तो कृपया मैं यह कैसे कर सकता हूँ?

0
Mario Thoumy 10 जुलाई 2021, 16:47

3 जवाब

सबसे बढ़िया उत्तर

यदि आपके पास एक जेसन स्ट्रिंग है तो यहां आप जाएं:

json_string = '{ "created_at": "Fri Oct 12 00:00:00 +0000 2012", "text": "ottimes daily top stories ghostlightning secretanimelov erojunko", "user": {"id": 163444845, "followers_count": 853}, "retweet_count": 0, "entities": {"hashtags": [], "user_mentions": []}}'

data_dict = json.loads(json_string)

hashtags = data_dict['entities']['hashtags']

एक json फ़ाइल खोलने के लिए इसे पहले चलाएँ:

with open(filename, 'r') as file:
    json_string = file.read()
    data_dict = json.loads(json_string)
    hashtags = data_dict['entities']['hashtags']
0
sehan2 10 जुलाई 2021, 14:18

पायथन में बिल्ट-इन फ़ंक्शन का सेट है, जिनका आप उपयोग कर सकते हैं।

फ़ाइल खोलने के लिए, आप खोलने के लिए open() फ़ंक्शन का उपयोग कर सकते हैं फ़ाइल को रीड मोड में रखें और इस तरह की सामग्री का उपभोग करें

import json

with open("./sample.json", 'r') as my_json_file:
    content = my_json_file.read()  # read content
    data = json.loads(content)     # parse content to a dictionary
    print(data['entities']['hashtags']) # access fields

my_json_file.close() # close file
 
0
Pubudu Sitinamaluwa 10 जुलाई 2021, 14:26

यदि आप केवल एक कुंजी दर्ज करना चाहते हैं, तो नीचे दिया गया पुनरावर्ती कार्य यह आपके लिए करेगा।

def find_value_by_key(iterable, findkey):
    """recursive method to return the value for the first
    instance of 'findkey'."""
    if type(iterable) == list:
        for item in iterable:
            result = find_value_by_key(item, findkey)
            if result != None:
                return result
    elif type(iterable) == dict:
        for key in iterable:
            value = iterable[key]
            if key == findkey:
                return value
            elif type(value) == dict or type(value) == list:
                result = find_value_by_key(value, findkey)
                if result != None:
                    return result
    return None


jsondata = json.loads("""{
"created_at": "Fri Oct 12 00:00:00 +0000 2012", "text": "ottimes daily top stories ghostlightning secretanimelov erojunko",
 "user": {"id": 163444845, "followers_count": 853},
 "retweet_count": 0,
 "entities": {"hashtags": [], "user_mentions": []}}
 """)

print(find_value_by_key(jsondata, 'hashtags'))
0
Edo Akse 10 जुलाई 2021, 14:28