Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在jsp中读取json响应_Java_Javascript_Json_Jsp - Fatal编程技术网

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您解决问题了吗?