Java 如何在jsp中读取json响应
我的客户端程序如下所示:Java 如何在jsp中读取json响应,java,javascript,json,jsp,Java,Javascript,Json,Jsp,我的客户端程序如下所示: DefaultHttpClient httpClient = new DefaultHttpClient(); HttpResponse res = httpClient.execute(req); StatusLine statusLine = res.getStatusLine(); int statusCode = statusLine.getStatusCode(); if (statusCode == 200) // or whatever
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse res = httpClient.execute(req);
StatusLine statusLine = res.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) // or whatever
{
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content, "utf-8"));
String line;
while ((line = reader.readLine()) != null)
{
builder.append(line);
}
sRet = builder.toString();
...
tknr = new JSONTokener(sRet);
在服务器端,我编写了一个JSON响应
JSONObject JObject = new JSONObject();
JObject.put("ResponseCode", "100");
JObject.put("Status", "Success");
response.setContentType("application/json");
PrintWriter out = response.getWriter();
out.print(JObject);
out.flush();
如何读取客户端背面的
ResponseCode
和Status
。必须将JSOn字符串转换为对象。如果使用Javascript,您可以使用JSON.parse(JSON_str)
或$.parseJSON
,如果您使用jQuery。完成后,您可以像往常一样访问这些条目:
var obj = JSON.parse(json_str);
var code = obj["ResponseCode"];
编辑
使用Java:
JSONObject obj = new JSONObject(json_string);
String code = obj.getString("ResponseCode");
大概是这样的:
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse res = httpClient.execute(req);
StatusLine statusLine = res.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) // or whatever
{
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content, "utf-8"));
String line;
while ((line = reader.readLine()) != null)
{
builder.append(line);
}
sRet = builder.toString();
...
tknr = new JSONTokener(sRet);
塞勒姆,谢谢你的快速回复。。我的客户端程序是用java编写的。尝试如下:JSONObject jsonDataObject=(JSONObject)JSONValue.parse(res.toString());字符串ResponseCode=((字符串)jsonDataObject.get(“ResponseCode”);并收到java.lang.NullPointerException您解决问题了吗?