Java查询SQL到JSON只返回一行
我正在创建一个Web服务来查询数据库,并将数据返回到JSON格式,以便进行Ajax调用 在我尝试从SQL数据库返回多行之前,一切都很好,然后我的结果是Java查询SQL到JSON只返回一行,java,sql,json,Java,Sql,Json,我正在创建一个Web服务来查询数据库,并将数据返回到JSON格式,以便进行Ajax调用 在我尝试从SQL数据库返回多行之前,一切都很好,然后我的结果是 {"tag":"Ingredients","Items":"flour ","Quantity":"6 "} 注意items和quantity标记后面的空格,因此我将查询结果打印到控制台,并意识到它返回了一个多行结果 我试图消除断线的情况下,这是一个问题,但它似乎没有工作 下面是我的JSON converter Util
{"tag":"Ingredients","Items":"flour ","Quantity":"6 "}
注意items和quantity标记后面的空格,因此我将查询结果打印到控制台,并意识到它返回了一个多行结果
我试图消除断线的情况下,这是一个问题,但它似乎没有工作
下面是我的JSON converter Utility.java
public static String constructSQLJSON(String tag, String string, String string2) {
JSONObject obj = new JSONObject();
String sqlout = null;
try {
obj.put("tag", tag);
obj.put("Items", new String(string));
obj.put("Quantity", new String(string2));
} catch (JSONException e) {
// TODO Auto-generated catch block
}
return obj.toString();
}
还有我的DB_probe.java
while (rs.next()) {
String items = rs.getString(1);
items = items.replaceAll("\n ", " ").replaceAll("\n", " ");
String Quantity = rs.getString(2);
ingred = Utitlity.constructSQLJSON("Ingredients", items, Quantity);
System.out.println( rs.getString(1) + rs.getString(2));
}
我正在使用codehaus.jettison.json包
编辑:我正在用邮递员测试结果,如果你怀疑是这样的话。你可以修剪绳子。尝试如下
obj.put("Items", new String(string.trim()));
obj.put("Quantity", new String(string2.trim()));
也许您正在寻找一个示例:
import javax.json.Json;
import javax.json.JsonArrayBuilder;
import javax.json.JsonValue;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Class {
public JsonValue constructSQLJSON(String tag,
String string,
String string2) {
return Json.createObjectBuilder()
.add("tag", tag)
.add("Items", string.trim())
.add("Quantity", string2.trim())
.build();
}
public String someMethod() throws SQLException {
final ResultSet rs = null;//..get result set...
final JsonArrayBuilder results = Json.createArrayBuilder();
while (rs.next()) {
results.add(constructSQLJSON(
"Ingredients",
rs.getString(1),
rs.getString(2)));
}
return results.build().toString();
}
}
这删除了末尾的额外空间,但没有返回额外的行suse JSONARRAY。逐个添加对象,最后返回itJSONArray objarr=new JSONArray();objarr.put(obj);您在JSON中从何处获得响应?有很多因素可以使您的代码发生这种情况,请发布足够的代码,以便我们可以查看它