C# invalidJsonBody错误发布到日志分析rest api
您好,我正在尝试新的日志分析REST api示例,可以在这里找到:但是我在标题完整的代码中遇到了前面提到的错误:C# invalidJsonBody错误发布到日志分析rest api,c#,json,rest,http,post,C#,Json,Rest,Http,Post,您好,我正在尝试新的日志分析REST api示例,可以在这里找到:但是我在标题完整的代码中遇到了前面提到的错误:“{\'error\”:{\'message\”:\“请求有一些无效的属性\”,“code\”:“BadArgumentError\”,“innererror\”:{\'code\:“QueryValidationError\”,“message\:\”无法分析查询\“,\“详细信息\”:[{\“代码\”:\“InvalidJsonBody\”,\“消息\”:\“意外标记\\”,\“目
“{\'error\”:{\'message\”:\“请求有一些无效的属性\”,“code\”:“BadArgumentError\”,“innererror\”:{\'code\:“QueryValidationError\”,“message\:\”无法分析查询\“,\“详细信息\”:[{\“代码\”:\“InvalidJsonBody\”,\“消息\”:\“意外标记\\”,\“目标\”:null}]}}}}}“
我的代码可以在下面找到,我觉得我可能遗漏了一些简单的东西,但我不知道哪里出了问题:
static void Main(string[] args)
{
try
{
var client = new Program();
client.ExecAsync().Wait();
}
catch(Exception e)
{
Console.WriteLine(e);
Console.ReadLine();
}
}
async Task ExecAsync()
{
var content = new StringContent(GetQueryString(), Encoding.UTF8, "application/json");
content.Headers.Add("X-Api-Key", "DEMO_KEY");
var response = await client.PostAsync("https://api.loganalytics.io/v1/workspaces/DEMO_WORKSPACE/query", content);
var responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString.Length);
Console.ReadLine();
}
private string GetQueryString()
{
return JsonConvert.SerializeObject("{\"query\":\"AzureActivity | summarize count() by Category}");
}
我注意到json字符串中缺少双引号
System.out.println("{\"query\":\"AzureActivity | summarize count() by Category}");
它给了我这个输出
{"query":"AzureActivity | summarize count() by Category}
在-Category“}之后缺少双引号
在代码中尝试以下字符串:
{\"query\":\"AzureActivity | summarize count() by Category\"}
您可以尝试一些在线json验证器,如