I have a [JsValue](https://www.playframework.com/documentation/2.4.x/api/scala/index.html#play.api.libs.json.JsValue) corresponding to the following JSON object:

```
{"foo": [{"id": 1, value: "bar"}, {"id": 2, "value": "baz"}, ...]}

```

Is there some easy way to turn this into a `Map(String, List(Map(String, Either(String, Int))))` or some other structure of regular ol' data?

I want to query the JSON for whether `<anonymous outermost value>["foo"]` contains `{"id": 42, "value": "Towel"}`. This would be easy for me if I could convert the JsValue object to plain old collections\*. Is there some other straightforward way to do so on JsValue objects?

(\*) I think it'd be something like `anonymous_outermost_value("foo") contains Map("id" -> Left(42), "value" -> Right("Towel"))`.

(In this particular application, I would be OK with converting all the IDs to strings and turning the `Either(String, Int)` into just `String`, if that makes stuff easier.)