मैंने "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]]
आपके कोड से