खोज…


वाक्य - विन्यास

  • JSON का उपयोग करना
  • JSON.parse (एसटीआर)
  • JSON.json (obj)
  • JSON.print (io, obj, इंडेंट)

टिप्पणियों

चूंकि न तो जूलिया Dict और न ही JSON ऑब्जेक्ट्स को स्वाभाविक रूप से ऑर्डर किया जाता है, इसलिए JSON ऑब्जेक्ट में की-वैल्यू पेयर के ऑर्डर पर भरोसा नहीं करना सबसे अच्छा है।

JSON.jl स्थापित करना

JSON एक लोकप्रिय डेटा इंटरचेंज प्रारूप है। जूलिया के लिए सबसे लोकप्रिय JSON लाइब्रेरी JSON.jl है । इस पैकेज को स्थापित करने के लिए, पैकेज मैनेजर का उपयोग करें:

julia> Pkg.add("JSON")

अगला कदम यह परीक्षण करना है कि पैकेज आपकी मशीन पर काम कर रहा है या नहीं:

julia> Pkg.test("JSON")

यदि सभी परीक्षण पास हो गए, तो पुस्तकालय उपयोग के लिए तैयार है।

पार्सिंग JSON

एक स्ट्रिंग के रूप में एन्कोड किया गया JSON आसानी से एक मानक जूलिया प्रकार में पार्स किया जा सकता है:

julia> using JSON

julia> JSON.parse("""{
           "this": ["is", "json"],
           "numbers": [85, 16, 12.0],
           "and": [true, false, null]
       }""")
Dict{String,Any} with 3 entries:
  "this"    => Any["is","json"]
  "numbers" => Any[85,16,12.0]
  "and"     => Any[true,false,nothing]

नोट के JSON.jl के कुछ तात्कालिक गुण हैं:

  • JSON प्रकार जूलिया में समझदार प्रकार के लिए नक्शे: ऑब्जेक्ट हो जाता है Dict , सरणी हो जाता है Vector , संख्या हो जाता है Int64 या Float64 , बूलियन हो जाता है Bool , और अशक्त हो जाता है nothing::Void
  • JSON एक अप्रमाणित कंटेनर प्रारूप है: इस प्रकार लौटा जूलिया वैक्टर टाइप Vector{Any} , और लौटाए गए शब्दकोश प्रकार Dict{String, Any}
  • JSON मानक पूर्णांक और दशमलव संख्या के बीच अंतर नहीं करता है, लेकिन JSON.jl करता है। दशमलव बिंदु या वैज्ञानिक संकेतन के बिना एक संख्या को Int64 में पार्स किया जाता है, जबकि दशमलव बिंदु के साथ एक संख्या को Float64 में पार्स किया Float64 । यह कई अन्य भाषाओं में JSON पार्सर्स के व्यवहार के साथ निकटता से मेल खाता है।

सीरियल JSON

JSON.json फ़ंक्शन जूलिया String में जूलिया ऑब्जेक्ट को क्रमबद्ध करता है जिसमें JSON शामिल होता है:

julia> using JSON

julia> JSON.json(Dict(:a => :b, :c => [1, 2, 3.0], :d => nothing))
"{\"c\":[1.0,2.0,3.0],\"a\":\"b\",\"d\":null}"

julia> println(ans)
{"c":[1.0,2.0,3.0],"a":"b","d":null}

यदि कोई स्ट्रिंग वांछित नहीं है, तो JSON को सीधे IO स्ट्रीम में प्रिंट किया जा सकता है:

julia> JSON.print(STDOUT, [1, 2, true, false, "x"])
[1,2,true,false,"x"]

ध्यान दें कि STDOUT डिफ़ॉल्ट है, और उपरोक्त कॉल में छोड़ा जा सकता है।

वैकल्पिक indent पैरामीटर पास करके प्रिटियर प्रिंटिंग प्राप्त की जा सकती है:

julia> JSON.print(STDOUT, Dict(:a => :b, :c => :d), 4)
{
    "c": "d",
    "a": "b"
}

जटिल जूलिया प्रकारों के लिए एक सामान्य डिफ़ॉल्ट क्रमांकन है:

julia> immutable Point3D
           x::Float64
           y::Float64
           z::Float64
       end

julia> JSON.print(Point3D(1.0, 2.0, 3.0), 4)
{
    "y": 2.0,
    "z": 3.0,
    "x": 1.0
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow