有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

servlet向JSON请求添加的java空值

我请求一个servlet,它返回正确的JSON结构,但与“null”组合

null{"name":Maria,"totalPrice":17.49}

如何删除第一行中的空值

我使用以下代码获取JSON-Servlet

BufferedReader reader = new BufferedReader(new InputStreamReader(
    ((HttpURLConnection) (new URL(the_url)).openConnection()).getInputStream(),
        Charset.forName("UTF-8")));

String line;
String returnString = null;

while ((line = reader.readLine()) != null) {
    returnString += line;
}

reader.close();
out.write(returnString);

共 (3) 个答案

  1. # 1 楼答案

    今天我回答了一个类似的问题

    这里唯一的问题是,必须假装JSON数据的生产者以一致的方式生成它们。在JSON提供程序上工作(如果可以),而不是在客户机上工作

    (务实地说)如果无法修复Servlet,我会使用@eel lee的回复表单(?真的???)

  2. # 2 楼答案

    举个例子

    String yourNewJsonString = stringWithNull.substring(4);
    

    数字为4的字符在字符串中是{

    顺便说一句,请阅读Parsing JSON Object in Java并用它来解析JSON

  3. # 3 楼答案

    null{}变量开始,而不是一个空的变量,因此当将它们相加时null值将替换为"null"。改用returnString = ""。更好的方法是使用StringBuilder

    StringBuilder result = new StringBuilder();
    
    while ((line = reader.readLine()) != null) {
        result.append(line);
    }
    
    reader.close();
    out.write(result);