How to use fliter's json to parsing nested json

I use the fliter's json to parse nested json, the log is like below:

{
"time":"2016-09-08T20:25:48.657327288+08:00",
"requested_id":"34545665",
"body":"{\"data\":\"fheufrgjidjweidwjfndfefm",\"code\":\"200\"}"

}
this data is saved in the field "message"

and below is my config:
fliter {
json {
source => "message"
}
}

but after the fliter, the field "data" in "body" is not parsing, it also look like below:
{
"time":"2016-09-08T20:25:48.657327288+08:00",
"requested_id":"34545665",
"body":"{"data":"fheufrgjidjweidwjfndfefm","code":"200"}"
}

It looks like that the fliter's json can only parse the top level of json data. so ,how to parse nested json?

The body field papers to be a string containing a serialised JSON object, and the parsing is therefore correct as far as I can see. If you want to parse this field further you should be able to apply the json filter to this field.