if (Mianban.activeInHierarchy) { Debug.Log("清水池"); deviceName = "清水池"; // string root = webRequest.downloadHandler.text.ToString(); for (int i = 0; i < root.result.Count; i++) { SheBei[0].text = root.result[i].deviceVar.ToString(); SheBei[2].text = root.result[i].value.ToString(); } }为什么没有赋值
时间: 2024-02-10 11:14:43 浏览: 26
在您的代码中,`root` 是一个 `Root` 类型的对象,而不是一个字符串。因此,您不能像 `webRequest.downloadHandler.text.ToString()` 一样将其转换为字符串。
您可以直接使用 `JsonMapper.ToObject<Root>(webRequest.downloadHandler.text)` 将 JSON 字符串转换为 `Root` 类型对象,并使用该对象来访问 `result` 列表中的数据。例如:
```
if (Mianban.activeInHierarchy) {
Debug.Log("清水池");
deviceName = "清水池";
Root root = JsonMapper.ToObject<Root>(webRequest.downloadHandler.text);
for (int i = 0; i < root.result.Count; i++) {
SheBei[0].text = root.result[i].deviceVar;
SheBei[2].text = root.result[i].value;
}
}
```
注意,在这个例子中,我将 `root` 定义为 `Root` 类型,并使用 `JsonMapper.ToObject<Root>(webRequest.downloadHandler.text)` 将其从 JSON 字符串转换为 `Root` 类型对象。在 `for` 循环中,我直接访问 `root.result` 列表中的数据,并将其分配给 `SheBei[0]` 和 `SheBei[2]` 中的文本组件。
如果您仍然遇到问题,请提供更多的上下文或代码示例,我可以帮助您更好地解决这个问题。