完成 PUT 请求后,我试图从飞利浦色调中获取 json 响应。飞利浦 Hue 有一个内置的 Web 服务器命令行,当我使用 Hue Web 界面发送一个基本的 json 消息,如“{“on”:True}”时,我收到一个 json 响应,告诉我请求成功。消息如下所示:
"[
{
"success": {
"/lights/1/state/on": true
}
}
]"
现在,当我通过下面的设置向色调发送命令时,我总是得到一个 TRUE .IsSuccessStatusCode(我假设因为色调收到了消息?)即使我发送了一些会导致错误的 json。例子; 我可以使用 json {"on":Cause an error} 并且仍然得到 TRUE。
因此,我试图弄清楚在发送 PUT 后如何从色调中获取上述 json 响应。下面是我正在使用的代码。
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
async static void setLight()
{
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage();
String myJson = "{\"on\":false}";
var content = new StringContent(myJson, Encoding.UTF8, "application/json");
HttpResponseMessage returnStatement = await client.PutAsync("http://192.168.1.3/api/139f12ce32a30c473368dbe25f6586b/lights/1/state", content);
Console.WriteLine(returnStatement.IsSuccessStatusCode);
}