下面给出了我的C#代码,它生成了一些json输出: -
var collection = new HeaderElements{
messageid = "hdhd",
source = "sid",
};
dynamic collectionWrapper = new{
Header = collection,
Elements = new{
timestamp = "lk",
value = "123"
}
};
string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(collectionWrapper);
Console.WriteLine(jsonString);
Console.ReadKey();
以下是使用的类: -
public class HeaderElements{
public string messageid { get; set; }
public string source { get; set; }
}
public class Elements{
public string timestamp { get; set; }
public string value { get; set; }
}
我得到以下输出: -
"{\"Header\":{\"messageid\":\"hdhd\",\"source\":\"sid\"},\"Elements\":{\"timestamp\":\"lk\",\"value\":\"123\"}}"
但我希望我的输出格式如下: -
"{\"Header\":{\"messageid\":\"hdhd\",\"source\":\"sid\"},\"timestamp\":\"lk\",\"value\":\"123\"}"
我是json编程的新手,我没有办法解决这个问题。
答案 0 :(得分:2)
不要将时间戳和值放入Elements变量中。将它们直接放入包装器中,如下所示:
dynamic collectionWrapper = new
{
Header = collection,
timestamp = "lk",
value = "123"
};
这给出了你想要的输出:
{"Header":{"messageid":"hdhd","source":"sid"},"timestamp":"lk","value":"123"}