I'm making an API that will return data in JSON.
I also wanted on client side to make an utility class to call this API.
Something like :
JSONObject sendGetRequest(Url url);
JSONObject sendPostRequest(Url url, HashMap postData);
However sometimes the API send back array of object [{id:1},{id:2}]
I now got four choices ():
- Make the method test for
JSONArray
orJSONObject
and send back anObject
that I will have to cast in the caller - Make a method that returns
JSONObject
and one forJSONArray
(likesendGetRequestAndReturnAsJSONArray
) - Make the server always send
Arrays
even for one element - Make the server always send
Objects
wrapping my Array
I going for the two last methods since I think it would be a good thing to force the API to send consistent type of data.
But what would be the best practice (if one exist).
Always send arrays? or always send objects?