/ / पाइथन में पार्स जोंस - अजगर, जोंस, पार्सिंग

पाइथन में पार्स जेएसओएन - पायथन, जेसन, पार्सिंग

मेरी परियोजना को वर्तमान में अजगर में एक JSON संदेश मिल रहा है जिसे मुझे जानकारी से बाहर होने की आवश्यकता है। इस के प्रयोजनों के लिए, इसे एक स्ट्रिंग में कुछ सरल JSON पर सेट करने देता है:

jsonStr = "{"one" : "1", "two" : "2", "three" : "3"}"

अब तक मैं एक सूची का उपयोग करके JSON अनुरोधों को उत्पन्न कर रहा हूं json.dumps लेकिन इसके विपरीत करने के लिए मुझे लगता है कि मुझे उपयोग करने की आवश्यकता है json.loads लेकिन मुझे इसके साथ बहुत कुछ नहीं मिला। क्या कोई मुझे एक स्निपेट प्रदान कर सकता है जो उपरोक्त उदाहरण में "दो" के इनपुट के साथ "2" लौटाएगा?

उत्तर:

उत्तर № 1 के लिए 328

बहुत आसान:

import json
j = json.loads("{"one" : "1", "two" : "2", "three" : "3"}")
print j["two"]

जवाब के लिए 66 № 2

कभी-कभी आपका json एक स्ट्रिंग नहीं है। उदाहरण के लिए यदि आपको इस तरह से यूआरएल मिल रहा है:

j = urllib2.urlopen("http://site.com/data.json")

आपको json.load का उपयोग करने की आवश्यकता होगी, json.loads की नहीं:

j_obj = json.load(j)

(यह भूलना आसान है: "s" "स्ट्रिंग" के लिए है)


जवाब के लिए 30 № 3

URL या FIle के लिए, json.load () का उपयोग करें। स्ट्रिंग .json सामग्री के लिए, json.loads () का उपयोग करें।

#! /usr/bin/python

import json
from pprint import pprint

#json_file="a.json"
json_file="my_cube.json"
cube="1"

json_data=open(json_file)
data = json.load(json_data)
#pprint(data)
json_data.close()

print "Dimension: ", data["cubes"][cube]["dim"]
print "Measures:  ", data["cubes"][cube]["meas"]

जवाब के लिए 20 № 4

निम्नलिखित सरल उदाहरण हैं जो आपकी सहायता कर सकते हैं:

json_string = """
{
"pk": 1,
"fa": "cc.ee",
"fb": {
"fc": "",
"fd_id": "12345"
}
}"""

import json
data = json.loads(json_string)
if data["fa"] == "cc.ee":
data["fb"]["new_key"] = "cc.ee was present!"

print json.dumps(data)

उपरोक्त कोड के लिए आउटपुट होगा:

{"pk": 1, "fb": {"new_key": "cc.ee was present!", "fd_id": "12345",
"fc": ""}, "fa": "cc.ee"}

ध्यान दें कि आप इसे प्रिंट करने के लिए डंप का पहचान तर्क सेट कर सकते हैं (उदाहरण के लिए, प्रिंट json.dumps (डेटा, इंडेंट = 4) का उपयोग करते समय):

{
"pk": 1,
"fb": {
"new_key": "cc.ee was present!",
"fd_id": "12345",
"fc": ""
},
"fa": "cc.ee"
}