client-api/src/main/java/com/streamsets/datacollector/client/JSON.java
public <T> T deserialize(String body, TypeRef returnType) throws ApiException {
    JavaType javaType = mapper.constructType(returnType.getType());
    try {
      return mapper.readValue(body, javaType);
    } catch (IOException e) {
      if (returnType.getType().equals(String.class))
        return (T) body;
      else
        throw new ApiException(500, e.getMessage(), null, body);
    }
  }
public <T> T deserialize(String body, TypeRef returnType) throws ApiException {
    JavaType javaType = mapper.constructType(returnType.getType());
    try {
      return mapper.readValue(body, javaType);
    } catch (IOException e) {
      if (returnType.getType().equals(String.class))
        return (T) body;
      else
        throw new ApiException(500, e.getMessage(), null, body);
    }
  }
public < T > T deserialize ( String body , TypeRef returnType ) throws ApiException { JavaType javaType = mapper . constructType ( returnType . getType ( ) ) ; try { return mapper . readValue ( body , javaType ) ; } catch ( IOException e ) { if ( returnType . getType ( ) . equals ( String . class ) ) return ( T ) body ; else throw new ApiException ( 500 , e . getMessage ( ) , null , body ) ; } }
Deserialize the given JSON string to Java object.

@param body The JSON string
@param returnType The type to deserialize inot
@return The deserialized Java object
Deserialize the given JSON string to Java object .