2017-07-20 115 views
0

我想发送一个curl命令到网络服务器来控制我家里的设备。 Web服务器包含以下JSON数据:无法使用curl发送JSON数据到网络服务器

{"result":1, "error":null, "id":0, "data":{"vid":2, "did":4, "device_type":"airconditioner", "default_name":"Air Conditioner Settings", "tags":"aircon", "is_sensor":1, "is_actuator":1, "is_silent":0, "has_time_series":0, "has_subdevice_count":0, "has_state":0, "gid":"0", "guid":"xxxx", "node":"yyy", "meta":{}, "shortName":"", "subDevices":{}, "last_data":{"DA":{"amOn":false, "tempTarget":22, "mode":1, "fanSpeed":0, "enabledZones":[1,1,0,0,0,0,0,0]}, "timestamp":1500523622862}} 

使用curl我可以把下面的PUT命令,打开设备:

curl -v -H "Accept: application/json" -H "Content-Type: application/json" -X PUT -d '{"DA":{"amOn":"true"}}' https://actron.ninja.is/rest/v0/device/xxxx?user_access_token=zzzz 

但是我被困在发送PUT命令更改号码在enabledZones数组中。

我曾尝试以下没有成功命令的许多变化:

curl -v -H "Accept: application/json" -H "Content-Type: application/json" -X PUT -d '{"DA":{"enabledZones[1]":"0"}}' https://actron.ninja.is/rest/v0/device/xxxx?user_access_token=zzzz 

任何建议将非常赞赏

回答

0

我认为你是在发送JSON不正确阵列的要求。要用0更新数组元素1,您需要使用"enabledZones":[1,0,0,0,0,0,0,0]

请参阅若跌破curl命令工作

curl -v -H "Accept: application/json" -H "Content-Type: application/json" -X PUT -d '{"DA":{"enabledZones":[1,0,0,0,0,0,0,0]}}' https://actron.ninja.is/rest/v0/device/xxxx?user_access_token=zzzz 
相关问题