[英]invalidJsonBody error posting to log analytics rest api
您好,我在这里尝试了新的日志分析REST api示例: https : //dev.loganalytics.io/documentation/Authorization/API-keys,但是在我的标题完整代码中遇到了上述错误: "{\\"error\\":{\\"message\\":\\"The request had some invalid properties\\",\\"code\\":\\"BadArgumentError\\",\\"innererror\\":{\\"code\\":\\"QueryValidationError\\",\\"message\\":\\"Failed parsing the query\\",\\"details\\":[{\\"code\\":\\"InvalidJsonBody\\",\\"message\\":\\"Unexpected token \\\\\\"\\",\\"target\\":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字符串中缺少双引号。 当我做一个小的java sysout
System.out.println("{\"query\":\"AzureActivity | summarize count() by Category}");
它给了我这个输出。
{"query":"AzureActivity | summarize count() by Category}
-类别后,双引号丢失了
在您的代码中尝试以下字符串:
{\"query\":\"AzureActivity | summarize count() by Category\"}
您可以尝试一些在线JSON验证程序,例如https://jsonlint.com/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.