What I'm trying to do is get a response, but don't know how to extract the values from it.
The actual response is the following:
[
"SUCCESS",
[ [
"Karachi",
["کراچی"],
[],
{
"candidate_type": [0],
"is_confident": [true]
}
]]
]
I need to extract urdu text from it
String text = "Karachi";
String url = "https://inputtools.google.com/request";
try {
final HttpClient client = new HttpClient();
final PostMethod method = new PostMethod(url);
method.setParameter("text", text);
method.setParameter("itc", "ur-t-i0-und");
method.setParameter("num", "1");
method.setParameter("cp", "0");
method.setParameter("cs", "1");
method.setParameter("ie", "utf-8");
client.executeMethod(method);
BufferedReader strResponse = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream(),"UTF-8"));
Object jObj = (Object) JSON.parse(strResponse);
解决方案
Try this (Your buffer reader may have more than one line):
StringBuilder yourJsonString= new StringBuilder();
String line;
while ((line = strResponse.readLine()) != null) {
yourJsonString.append(line);
}
JSONArray jsonObject = new JSONArray(yourJsonString.toString());
//retrieve the second element of json array
JSONArray secondElmArray= jsonObject.getJSONArray(1);
JSONArray innerArray = secondElmArray.getJSONArray(0);
JSONArray urduList= innerArray.getJSONArray(1);
String urduWord= urduList.getString(0);