我知道这是一个愚蠢的问题,任何人都可以帮我解决这个问题吗?
要求在C#下输出,使用“www.newtonsoft.com”json generator dll。
使用JsonConvert.SerializeObject的必需输出:
{
"must": [
{
"match": {
"pname": "TEXT_MATCH"
}
},
{
"_bool": {
"rname": "TEXT_BOOL"
}
}
]
}
我的C#类设计如下:
public class Rootobject
{
public Must[] must { get; set; }
}
public class Must
{
public Match match { get; set; }
public Bool _bool { get; set; }
}
public class Match
{
public string pname { get; set; }
}
public class Bool
{
public string rname { get; set; }
}
我在JsonConvert.SerializeObject之后得到的输出如下:
{
"must": [
{
"match": {
"pname": "TEXT_MATCH"
},
"_bool": {
"rname": "TEXT_BOOL"
}
}
]
}
答案 0 :(得分:0)
在所需的输出中,数组中有2个对象。在你得到的那个中有一个具有Match和Bool属性的对象。以下创建对象和序列化的方法应该提供您正在寻找的内容:
static void Main(string[] args)
{
Rootobject root = new Rootobject();
root.must = new Must[2];
root.must[0] = new Must() { match = new Match() { pname = "TEXT_MATCH" } };
root.must[1] = new Must() { _bool = new Bool() { rname = "TEXT_BOOL" } };
string result = Newtonsoft.Json.JsonConvert.SerializeObject(root,
Newtonsoft.Json.Formatting.Indented,
new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
Console.WriteLine(result);
}
输出:
{
"must": [
{
"match": {
"pname": "TEXT_MATCH"
}
},
{
"_bool": {
"rname": "TEXT_BOOL"
}
}
]
}