【问题标题】:Java creating a JSON object results in a status 404Java 创建 JSON 对象会导致状态 404
【发布时间】:2021-09-05 07:19:28
【问题描述】:

我正在使用以下方法创建 JSON 警告:

String warningString = "{\"empty\":\"No YM specific lines\"}";
json = new Gson().toJson(warningString);
json = json.replaceAll("^['\"]*", "").replaceAll("['\"]*$", "").replace("\\", "");

虽然这可行,但我发现有更好的方法可以做到这一点:

import com.google.gwt.thirdparty.json.JSONObject;

JSONObject obj = new JSONObject();
try {
    obj.put("empty", "No YM specific lines");
} catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

但是,当我测试时,这会导致状态 404。我检查了日志,找不到任何错误。我正在使用 Apache Tomcat/9.0.46。

改为:

import org.json.JSONException;
import org.json.JSONObject;

String json = null;
if (ymSpecificLineDetail == null) {
    //Gracefully return a warning message
        
    json = new JSONObject().put("empty", "No YM specific lines").toString();    
} else {
    json = new Gson().toJson(ymSpecificLineDetail);
}
    
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);

【问题讨论】:

    标签: java json tomcat9


    【解决方案1】:

    将您的导入更改为:

    import org.json.JSONException;
    import org.json.JSONObject;
    

    【讨论】:

    • 试试 json-20210307.jar。
    • 谢谢。我已经用添加的新代码编辑了我的问题。现在我在 response.getWriter().write(json); “将'json'的类型更改为'int',带有下划线的“write”。我检查了json,它正确生成为{“empty”:“No YM specific lines”}
    • 找到了答案。我应该有 String json = new JSONObject().put("empty", "No YM specific lines").toString();
    猜你喜欢
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    • 2011-11-12
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    相关资源
    最近更新 更多