2016-05-23 10 views
0

にJSONの配列要素を削除します。私はこのようなJSONの結果を持っているのScala

私はこの( corporateIdcorporateNameを削除する)のような、新たなJSONの結果を持っているので、いくつかの要素を削除する方法
[ 
    { 
     "id": 2202, 
     "name": "name one", 
     "phone": "+62888888", 
     "email": "[email protected]", 
     "corporateId": null, 
     "corporateName": null, 
     "version": 119, 
     "signupDate": "2016-01-28T00:00:00+07:00" 
    }, 
    { 
     "id": 2580, 
     "name": "name two", 
     "phone": "+628777777", 
     "email": "[email protected]", 
     "corporateId": null, 
     "corporateName": null, 
     "version": 119, 
     "signupDate": "2016-01-28T00:00:00+07:00" 
    } 
] 

[ 
    { 
     "id": 2202, 
     "name": "name one", 
     "phone": "+62888888", 
     "email": "[email protected]", 
     "version": 119, 
     "signupDate": "2016-01-28T00:00:00+07:00" 
    }, 
    { 
     "id": 2580, 
     "name": "name two", 
     "phone": "+628777777", 
     "email": "[email protected]", 
     "version": 119, 
     "signupDate": "2016-01-28T00:00:00+07:00" 
    } 
] 
+0

可能性のあるすべてのJsArray要素に除去するために

(__ \ "corporateId").json.prune andThen (__ \ "corporateName").json.prune 

を、Reads.list使用キーの削除ScalaのJsValue](http://stackoverflow.com/questions/25066066/remove-a-key-from-a-jsvalue-in-scala) – 757071

答えて

1

いくつかの方法があります。それらの1つはJSON transformersです。 corporateIdcorporateName使用Case 6: Prune a branch from input JSON除去するため

Reads.list(
    (__ \ "corporateId").json.prune andThen (__ \ "corporateName").json.prune 
) 
あなたがなるため

複雑なトランス:

json.transform(
    Reads.list(
    (__ \ "corporateId").json.prune andThen (__ \ "corporateName").json.prune 
).map(JsArray) 
) 

res3: play.api.libs.json.JsResult[play.api.libs.json.JsArray] = JsSuccess([{"id":2202,"name":"name one","phone":"+62888888","email":"[email protected]","version":119,"signupDate":"2016-01-28T00:00:00+07:00"},{"id":2580,"name":"name two","phone":"+628777777","email":"[email protected]","version":119,"signupDate":"2016-01-28T00:00:00+07:00"}],) 
関連する問題