当前位置: 首页 > 知识库问答 >
问题:

放心:无法解析JSON文档

廖鸿达
2023-03-14

无法解析JSON文档:为什么我会得到这个错误。我正在尝试将参数传递给ajson主体以执行删除操作。数据使用TestNg表示法存储在一个数组中。当我运行测试时,它失败了,并显示消息“无法解析Json文档”

import org.testng.annotations.DataProvider;
    import org.testng.annotations.Test;

import Files.BasicsPayloadBody;
import io.restassured.RestAssured;
import io.restassured.path.json.JsonPath;

import static io.restassured.RestAssured.*;
public class Deletebook {
    
    @Test(dataProvider="deletedata")
    public static void deletebooks(String deletebookid)
    {
        RestAssured.baseURI="http://216.10.245.166";
        String DeleteResponse = given().header("Content Type","application/json")
                               .body(BasicsPayloadBody.deletebookdata(deletebookid))
                               .when().post("/Library/DeleteBook.php")
                               .then().extract().response().asString();
            
            JsonPath js = new JsonPath(DeleteResponse);
            System.out.println(js.getString("msg"));
    }

    @DataProvider(name="deletedata")
    public Object[] getdata1()
    {
        return new Object[]{"testeqweedh47ee76","testdweeed145eeddd65","teseetsdd2teseet3wdd"};
    }

    
}



Json Body:

public static String deletebookdata(String deletebookid)
    {
        String deleteid = "{\r\n" + 
                " \r\n" + 
                "\"ID\" : \""+deletebookid+"\r\n" + 
                " \r\n" + 
                "} \r\n" + 
                "";
        return deleteid;
    }

共有1个答案

阴波峻
2023-03-14

JSON中缺少结束引号:

String deleteid = "{\r\n" + 
            " \r\n" + 
            "\"ID\" : \""+deletebookid+"\"\r\n" + // <-- Added backslash and quote here
            " \r\n" + 
            "} \r\n" + 
            "";

顺便说一下,JSON中不需要所有的换行符和空格:

String deleteid = "{\"ID\":\"" + deletebookid + "\"}";

这更容易阅读。

 类似资料:
  • 我想解析我的JSON响应来验证我获得的响应。 现在,我正在为此使用Rest-放心java API,我通过了关于工具QA和他们正在使用的教程 对于Json:- 现在这个响应是一个JSON对象。但我的嵌套在JSON数组中。 如何解析这些嵌套的Json对象和数组?因为Json响应可以出现在数组和对象的所有组合中。 它们是提供与键相对应的值的可靠方法吗?例:“key”:“value”我去找key,通过那个

  • 我试图将一个JSON发送给一个REST控制器,它是用Spring编写的,不管我做了什么尝试,Jackson抛出了一个异常: 这是JSON: 有什么建议吗?

  • 问题内容: 当我在Kibana中看到结果时,我发现JSON中没有字段,而且,该字段仅包含。 是否可以解析json中的字段并将其显示在Kibana中?我有以下配置: 以及以下JSON文件: 问题答案: 是。您需要在配置中添加一个过滤器,如下所示。 在这里的文档中对此进行了很好的描述 编辑 json编解码器似乎不喜欢传入数组。单个元素与此配置一起工作: 输入: Logstash结果: } 现在有了一个

  • 问题内容: 加载似乎包含 TAB 字符的JSON文件时,我遇到了解析问题。 当我转到http://jsonlint.com/时,我输入了带有TAB字符的部分: 验证者抱怨: 这实际上是有问题的JSON文本的复制/粘贴。 我曾尝试加载该文件,并没有成功。如何正确加载?我应该只预处理文件并用空格替换TAB 吗?还是我在这里想念的东西? 更新: 这也是一个有问题的示例: 问题答案: 从JSON标准: 在

  • 我有一个json转储为 我编写了一个小代码来从json获取一些详细信息 这给我造成了错误: 回溯(最近一次调用):文件“python_opennms.py”,第24行,in x=get_nodes_opennms()文件“python_opennms.py”,第15行,in get_nodes_opennms for i in JSON.load(open('out.txt'))[“alarm”]

  • 我对rest-assured和Java是新手。我需要帮助,我想创建一个Json对象(带有键、值的数组Json),我可以添加/删除参数,并更改值 谢谢大家