如何在 Json 字符串中添加 JArray

How to add JArray inside a Json string

我有以下代码:

string messageString1 = JsonConvert.SerializeObject(thisComputer);
var data = new { deviceid = "info1", devicetype = "info2", data = messageString1};

我的目标是将 messageString1 添加到数据中。

thisComputer 是一个 class,我知道这部分代码可以工作,因为我之前让它工作,我只是无法将 messageString1 放入数据中。

我无法将数据插入 data.I 已经尝试了几种不同的方法,但我仍然没有弄清楚。

编辑: 问题是我正在尝试将 JSON 发送到 azure IoThub,实际上内容正在进入 IoT Hub,但所有双引号字符现在都是 '\"',这构成了问题。

示例:如果里面的数据是:

{"data":"dataInfo"}

在物联网中心我看到:

{\"data\":\datainfo\"}

提前致谢。

目前,您 JSON-encoding 一个字符串形式的对象,然后当您将匿名类型实例发送到 Cloud IoT 时,再次应用 JSON 编码 .

您似乎不希望 data 的值是一个字符串 - 您希望它是来自 thisComputer 的数据。所以只要避免第一级编码:

var data = new { deviceid = "info1", devicetype = "info2", data = thisComputer };