java - 从选定的对象创建 JSON

标签 java javascript html json

我想创建所选选项的 JSON 对象。我已经编写了 Java 代码,但它创建了所有数据库值的 JSON。

JSON 代码为:

rs = stmt.executeQuery("SELECT file_id,fid from nonspatial_data  where file_id=1");

JSONArray jArray = new JSONArray();

while (rs.next())
{  
    String  FileID_json=rs.getString("file_id");
    String fid_json=rs.getString("fid");
    JSONObject jobj = new ``JSONObject();
    jobj.put("file_id", FileID_json);
    jobj.put("fid", fid_json);
    jArray.add(jobj);
}

JSONObject features = new JSONObject();
features.put("features", jArray);

我想创建所选 file_id 的 json。

感谢您的帮助。

最佳答案

我不确定您想要 json 的格式,但您确实应该使用像 jackson 这样的库(有帮助的序列化器/映射器)。使用方法是:创建一个表示 json 对象的域对象,并将其传递给这个序列化器,然后你就得到了 json.

注意:为了保持代码简洁,我没有使用 java 的最佳实践(例如创建字符串常量等)。我也没有测试过这段代码,但您应该很好地了解我的建议。

public class SomeObject{ 
  Map<String,Object> model;
  public void setFoo( String foo ) {...}
  public String getFoo() {
    return model.get( "foo" );
  }

  // if you have more than one model, consider moving this method to a superclass
  public String toJson() {
    Map<String, Object> result = new HashMap<String, Object>();
    String status;
    List<String> errors = new ArrayList<String>();

    ObjectMapper mapper = new ObjectMapper();
    result.put("status", status);
    result.put("errors", errors);
    StringWriter sw = new StringWriter();
    mapper.writeValue(sw, result);
    return sw.toString();
  }
}

这有助于保持您的代码面向对象......然后您的应用程序逻辑可以引用域对象而不是操作基本字符串。

关于java - 从选定的对象创建 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11858728/

相关文章:

java - 将偶数四舍五入为两位小数 "0"?

javascript - SAPUI5中的 "apply()"函数是什么

javascript - 在 MVC 参数中编码特殊字符 < 和 >

javascript - Next.js React 组件 getInitialProps 不绑定(bind) Prop

jquery - 调整大小时填充被删除

带 GUI 的 Java 内存游戏 - 字符串和数组比较

java - GWT-DnD(拖放)布局问题

java - 最长运行计数程序问题

javascript - 在移动浏览器中使用 jQuery Accordion 是否太慢?

C# 制表符/缩进 HTML