चलाएं मैं एक सशर्त परिवर्तन प्राप्त करने के लिए प्ले 2.1 जेएसओएन रीड का उपयोग कर रहा हूं।जेएसओएन वैकल्पिक ट्रांसफार्मर
मेरे पास एक जेसन ऑब्जेक्ट है और मैं एक वैकल्पिक फ़ील्ड को \ n वर्णों को हटाने के लिए बदलना चाहता हूं। समस्या यह है कि अगर मैं भेजे गए JSON से सामग्री को हटा देता हूं, तो मुझे एक सत्यापन त्रुटि प्राप्त होती है।
यह फ़ील्ड वैकल्पिक है और मुझे नहीं पता कि परिवर्तन कैसे वैकल्पिक है इसका वर्णन करना है। यह वर्तमान सामग्री परिवर्तन है:
val transformContent = (__ \ 'content).json.update(__.read[JsString].map{
value =>
JsString(value.value.replaceAll("\n", ""))
})
मैं एक वैकल्पिक फ़ील्ड परिवर्तन कैसे प्राप्त कर सकते हैं? क्या मुझे Reads.verifyingIf
का उपयोग करना चाहिए?
धन्यवाद
'readOpt' बहिष्कृत (संस्करण 2.1-आरसी 2 के बाद से) 'readNullable [T]' का उपयोग करें (जो गायब और शून्य फ़ील्ड दोनों का प्रबंधन करता है) – HEX