gpt4 book ai didi

java - 如何从响应中提取 json 数据 - Java

转载 作者:行者123 更新时间:2023-12-01 18:25:38 25 4
gpt4 key购买 nike

我正在尝试从 Json 字符串中提取数据,该字符串是通过仅使用 Java 代码的响应获得的。我在这里发布我的 Java 代码。

输出:

Entering into while loop
[{"name":"Frank","food":"pizza","quantity":3}]

这是我的 Java 代码。

public void receive() 
{
System.out.println("Entering into sendNote method");
try {
// make json string,
String json = "{\"name\":\"Frank\",\"food\":\"pizza\",\"quantity\":3}";
// send as http get request
URL url1 = new URL("http://myurl/file.php?usersJSON="+userList);
URLConnection conn1= url1.openConnection();
//I am receiving exactly what I have sent....
BufferedReader rd = new BufferedReader(new InputStreamReader(conn1.getInputStream()));
String line;
while ((line = rd.readLine()) != null)
{
System.out.println("Entering into while loop");
System.out.println(line);// line contains the received json parameters
//I want to enter the recieved parameters into my database
//
//
//
//I need the solution right here....
}
rd.close();
}
catch (Exception e)
{
System.out.println("Error Occured while receiving");
e.printStackTrace();
}
}

谢谢!!!!

@安库尔:这是我尝试过的方法,

This is one of your second ways... I called the function from where I wanted and passed the variable "line" containing the json string

@Lahiru Prasanna,@ankur-singhal非常感谢。!!

最佳答案

我认为您成功获得了 HttpResponse。这里称为响应的变量是 HttpResponse。

        // Could do something better with response.
StatusLine statusLine = response.getStatusLine();

if (statusLine.getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
StringBuilder builder = new StringBuilder();
BufferedReader reader = new BufferedReader(
new InputStreamReader(content));
String line;
try {
while ((line = reader.readLine()) != null) {
builder.append(line);
}
content.close();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
JSONObject jsonObject = new JSONObject(builder.toString());
} catch (JSONException e) {
System.out.println("Error parsing data " + e.toString());
}

}
} catch (Exception e) {
System.out.println("Error: " + e.toString());
System.out.println( "" + e.toString());
System.out.println("" + e.toString());
}

重要的是永远不要使用字符串进行 json 操作。

您可以像这样从 jsonObject 检索数据

String name = jsonObject.getString("name");

关于java - 如何从响应中提取 json 数据 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26291995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com