/ / JSON संरचना से डबल प्राप्त करें - json, scala, json4s

JSON संरचना से डबल प्राप्त करें - जेसन, स्कैला, जेसन 4 एस

मैंने "JSON लाइब्रेरी" अपडेट की है और मुझे वह मान निकालने में परेशानी हो रही है जो मुझे चाहिए

JSON इस तरह दिखता है:

{
"k1": {
"k2 : {
"k3" : 123
}
}
}

पहले, यह चाल थी:

(parse(json) \ "k1" \ "k2" \ "k3").extract[Double]

चाल चली, अब ऐसा नहीं है। अब मुझे इसका अपवाद मिला:

org.json4s.package$MappingException: Do not know how to convert JArray(List(JInt(123))) into double

मैंने उपयोग करने की कोशिश की compact(render(parse(json) \ "k1" \ "k2" \ "k3")), लेकिन इसने मुझे स्ट्रिंग दिया [123], जो वास्तव में मैं क्या चाहता हूं। मैं सीधे डबल के रूप में मूल्य कैसे निकाल सकता हूं?

उत्तर:

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

का उपयोग करते हुए \ एक्सेसर यहां गलत है, क्योंकि यह JSON को फिर से चलता है और किसी को भी निकालता है "k1" यह मुठभेड़, एक का उत्पादन JArray, इस प्रकार त्रुटि।

आपको या तो उपयोग करना चाहिए जो JSON ऑब्जेक्ट के केवल एक नेस्टेड नेस्ट को एक्सेस करता है या extract[List[Double]] आपके कोड से