I want to parse string JSON arrays to VO and using gson.
PostMan RequestBody Call my TestApi:
{"data": "[{\"id\":\"1\",\"name\":\"james\",\"passwd\":\"abcd\"},{\"id\":\"2\",\"name\":\"john\",\"passwd\":\"dcba\"},{\"id\":\"3\",\"name\":\"mike\",\"passwd\":\"opppt\"}]"}
My VO Class :
@Data
public class TestVo {
    private String id;
    private String name;
    private String passwd;
}
I tried this Code :
@PostMapping(value = "/testApi")
public void testApi(@RequestBody String data){
    Gson gson = new Gson();
    JsonElement jsonElement = gson.fromJson(data, JsonElement.class);
    String jsonStr = jsonElement.getAsJsonObject().get("data").getAsString();
    List<TestVo> list = gson.fromJson(jsonStr, new TypeToken<List<TestVo>>(){}.getType());
.
.
.
Output
Expected a string but was BEGIN_ARRAY at line 1 column ..... Error T.T
 
    
>(){}.getType()); } here. get.("data") and getAsString dont cause error