मैं केवल "PresentValue" से नंबर प्रिंट करना चाहता हूं। लेकिन केवल "ऑब्जेक्ट इंडेंटिफायर" से: 1 मुझे यह निर्दिष्ट करने में सक्षम होना चाहिए कि "ऑब्जेक्ट इंडेंटिफायर" क्या मुद्रित होने जा रहा है। यहाँ मेरी जेसन फ़ाइल है:

    import json 
      
    # Data to be written 
    data = {
    "AnalogValues": [
            {
                "ObjectIdentifier": 1,
                "PresentValue": 10.2
            },
            {
                "ObjectIdentifier": 2,
                "PresentValue": 20.3
            }
        ]
    }
    
    
      
    # Serializing json  
    json_object = json.dumps(data, indent = 4) 
      
    # Writing to sample.json 
    with open("AnalogValues.json", "w") as outfile: 
        outfile.write(json_object)
 

मैंने अब तक यही कोशिश की है (संपूर्ण जोंस फाइल लौटाता है):

import json 
      
    # Opening JSON file 
    with open('AnalogValues.json', 'r') as openfile: 
      
        # Reading from json file 
        json_object = json.load(openfile) 
      
    print(json_object) 
    print(type(json_object))
    
-1
Martin Wærøe 17 अक्टूबर 2020, 16:41

1 उत्तर

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

आप इस तरह के फ़ंक्शन का उपयोग कर सकते हैं:

def get_present_value(no):
    for a in data['AnalogValues']:
        if a['ObjectIdentifier'] == int(no):
            return a['PresentValue']
    return None


print(get_present_value(2))

आउटपुट:

20.3
1
Osadhi Virochana 17 अक्टूबर 2020, 16:57