如何在没有“\”字符的情况下将 json 发送到 IoT 中心
How to send a json into IoT Hub without the '\' character
我正在尝试使用以下格式将 JSON 字符串发送到 Azure IoT 中心:
string format = "{\"info1\":\"info1Data\",\"info2\":\"info2Data\",\"info3\":{\"info3Data\":[]}}";
问题是,在我将字符串序列化为 JSON 对象后,它会将其发送到 IoT 中心:
{\"info1\":\"info1Data\",\"info2\":\"info2Data\",\"info3\":{\"info3Data\":[ ]}}
我的目标是从发送到 IoT 的字符串中删除“\”字符,为此我尝试了多种方法来解决此问题,例如:
var test= new string(format.ToCharArray());
test.Trim();
Console.WriteLine(test);
testing = test.Replace(@"\", "");
Console.WriteLine(testing);
或
var charsToRemove = new string[] { @"\" };
foreach (var c in charsToRemove)
{
testing = testing.Replace(c, string.Empty);
}
Console.WriteLine(testing);
我正在使用 VS2019,但我仍然无法从字符串中删除 '\' 字符。
提前致谢。
尝试通过在原始字符串 (@) 中将引号加倍 ("") 来转义引号,如下面 post:
中所述
How to add double quotes to a string that is inside a variable?
例如:
string format = @"{""info1"":""info1Data"",""info2"":""info2Data"",""info3"":""info3Data"":[]}}";
您可以使用匿名类型,例如:
var data = new { info1 = "info1Data", info2 = "info2Data", info3 = new { info3Data = new JArray() } };
var jsontext = JsonConvert.SerializeObject(data);
var message = new Message(Encoding.UTF8.GetBytes(jsontext));
await client.SendEventAsync(message);
我正在尝试使用以下格式将 JSON 字符串发送到 Azure IoT 中心:
string format = "{\"info1\":\"info1Data\",\"info2\":\"info2Data\",\"info3\":{\"info3Data\":[]}}";
问题是,在我将字符串序列化为 JSON 对象后,它会将其发送到 IoT 中心:
{\"info1\":\"info1Data\",\"info2\":\"info2Data\",\"info3\":{\"info3Data\":[ ]}}
我的目标是从发送到 IoT 的字符串中删除“\”字符,为此我尝试了多种方法来解决此问题,例如:
var test= new string(format.ToCharArray());
test.Trim();
Console.WriteLine(test);
testing = test.Replace(@"\", "");
Console.WriteLine(testing);
或
var charsToRemove = new string[] { @"\" };
foreach (var c in charsToRemove)
{
testing = testing.Replace(c, string.Empty);
}
Console.WriteLine(testing);
我正在使用 VS2019,但我仍然无法从字符串中删除 '\' 字符。
提前致谢。
尝试通过在原始字符串 (@) 中将引号加倍 ("") 来转义引号,如下面 post:
中所述How to add double quotes to a string that is inside a variable?
例如:
string format = @"{""info1"":""info1Data"",""info2"":""info2Data"",""info3"":""info3Data"":[]}}";
您可以使用匿名类型,例如:
var data = new { info1 = "info1Data", info2 = "info2Data", info3 = new { info3Data = new JArray() } };
var jsontext = JsonConvert.SerializeObject(data);
var message = new Message(Encoding.UTF8.GetBytes(jsontext));
await client.SendEventAsync(message);