java json 响应,在Java中解析JSON响应以提取值

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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值