# type mismatch with bodyString.transform

**URL:** <https://community.gatling.io/t/type-mismatch-with-bodystring-transform/2152>\
**Category:** Gatling (Open-Source)\
**Created:** [March 27, 2015, 6:42pm UTC](https://community.gatling.io/t/type-mismatch-with-bodystring-transform/2152 "2015-03-27T18:42:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chuck\_D](https://avatars.discourse-cdn.com/v4/letter/c/58f4c7/32.png) [@Chuck\_D](https://community.gatling.io/u/Chuck_D)\
**Post date:** [March 27, 2015, 6:42pm UTC](https://community.gatling.io/t/type-mismatch-with-bodystring-transform/2152/1 "2015-03-27T18:42:09Z")

</div>

Hi I’m trying to convert json to a map using gatlings bodyString.transform. I’m getting a type mismatch error

`  
found : Option[String] =\> Option[scala.collection.mutable.Map[String,String]]

required: String =\> ?  
`

.

`post(s"api/v1/$user/account") .queryParam("callback", "hopCallback") .queryParam("commonDomain", commonDomain) .check(status is 200) .check(jsonPath("$.submitUrl").saveAs("hopSubmitUrl")) .check(bodyString.transform(convertHOPJsonToMap).saveAs("hopData")) .check(jsonPath("$.currentTime").exists)`

where:

`  
def convertHOPJsonToMap(in: Option[String]): Option[mutable.Map[String, String]] = in match {  
case Some(json) =\> {

`

---

<div class="post-metadata">

**Author:** ![slandelle](https://dub1.discourse-cdn.com/flex013/user_avatar/community.gatling.io/slandelle/32/4_2.png) [@slandelle](https://community.gatling.io/u/slandelle)\
**Post date:** [March 27, 2015, 8:14pm UTC](https://community.gatling.io/t/type-mismatch-with-bodystring-transform/2152/2 "2015-03-27T20:14:24Z")

</div>

Don’t bother, let Gatling do the job with “ofType”: [http://gatling.io/docs/2.1.4/http/http\_check.html?highlight=jsonpath](http://gatling.io/docs/2.1.4/http/http_check.html?highlight=jsonpath)

check(jsonPath("$").ofType[Map[String, Any].saveAs(“hopData”)

---

<div class="post-metadata">

**Author:** ![Chuck\_D](https://avatars.discourse-cdn.com/v4/letter/c/58f4c7/32.png) [@Chuck\_D](https://community.gatling.io/u/Chuck_D)\
**Post date:** [March 27, 2015, 9:35pm UTC](https://community.gatling.io/t/type-mismatch-with-bodystring-transform/2152/3 "2015-03-27T21:35:34Z")

</div>

hm, but i still need to convert.

def convertHOPJsonToMap(in: Option[String]): Option[mutable.Map[String, String]] = in match {  
case Some(json) =\> {  
val parsed = JSONValue.parse(json).asInstanceOf[JSONObject]  
val fields = parsed.get(“fields”).asInstanceOf[JSONArray]

val result = mutable.MapString, String

for (i ← 0 until fields.size) {  
val f = fields.get(i).asInstanceOf[JSONObject]  
if (f.get(“name”) != null && f.get(“value”) != null) {  
result.put(f.get(“name”).toString, f.get(“value”).toString)  
}  
}

Option(result)  
}  
case None =\> throw new Exception(“No json value.”)  
}
