Julia Language
JSON
खोज…
वाक्य - विन्यास
- 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
}