C# 如何将两个SerializeObject转换为一个SerializeObject

C# 如何将两个SerializeObject转换为一个SerializeObject,c#,xamarin,c#-4.0,xamarin.forms,C#,Xamarin,C# 4.0,Xamarin.forms,序列化对象的当前代码: dict1={"type":"check"} dict2={"mac":"00:00:00:00:00:00"} var json = JsonConvert.SerializeObject(dict1); var jsonStr = JsonConvert.SerializeObject(dict2); var arrayOfObjects = JsonConvert.SerializeObject( new [] { JsonConvert.Deserialize

序列化对象的当前代码:

dict1={"type":"check"}
dict2={"mac":"00:00:00:00:00:00"}

var json = JsonConvert.SerializeObject(dict1);
var jsonStr = JsonConvert.SerializeObject(dict2);

var arrayOfObjects = JsonConvert.SerializeObject(
new [] { JsonConvert.DeserializeObject(json ), JsonConvert.DeserializeObject(jsonStr) });
它将数据转换为JSON格式,如下所示:

[
{
"type": "CHECK_CONNECTION"
},
{
"mac_address": "00:00:00:00:00"
}
]
我希望最终输出像这样

{
"type":"check",
"mac_address":"00:00:00:00:00:00"
}
请看看这是否能帮到你。 您试图用2个元素序列化数组,因此它已反映在序列化内容中。如果您想要一个具有2个属性的对象的json表示,那么您必须创建一个具有2个属性的对象

JObject jo = JObject.FromObject(item);
jo.Add("property_name", "property_value");
string json = jo.ToString();
请看看这是否能帮到你。
您试图用2个元素序列化数组,因此它已反映在序列化内容中。如果您想用json表示具有两个属性的单个对象,则必须创建具有两个属性的对象。

您必须为数据定义一个模型。
JObject jo = JObject.FromObject(item);
jo.Add("property_name", "property_value");
string json = jo.ToString();
像这样:

>

因此,您可以按如下方式进行序列化:

>

//您的代码
dict1={“类型”:“检查”}
dict2={“mac”:“00:00:00:00:00”}
var type=JsonConvert.SerializeObject(dict1);
var mac=JsonConvert.SerializeObject(dict2);
var dict=新列表();
添加(新的dict(){Type=Type,MacAdress=mac});
var jsonContent=JsonConvert.SerializeObject(dict,new JsonSerializerSettings())
{
NullValueHandling=NullValueHandling.Ignore
});

请告诉我这是否对您有帮助。

您必须为数据定义一个模型。 像这样:

>

因此,您可以按如下方式进行序列化:

>

//您的代码
dict1={“类型”:“检查”}
dict2={“mac”:“00:00:00:00:00”}
var type=JsonConvert.SerializeObject(dict1);
var mac=JsonConvert.SerializeObject(dict2);
var dict=新列表();
添加(新的dict(){Type=Type,MacAdress=mac});
var jsonContent=JsonConvert.SerializeObject(dict,new JsonSerializerSettings())
{
NullValueHandling=NullValueHandling.Ignore
});

请告诉我这是否对您有帮助。

dict1没有固定。在new[]的位置上如何给出字典初始值设定项?dict1没有固定。在new[]的位置上如何给出字典初始值设定项?在序列化之前可以。在序列化之前可以。实际上dict没有固定它可能每次都会变化。实际上dict没有固定它可能每次都会变化。
//System.ComponentModel.DataAnnotations.Schema

public class Dict
{
    [JsonProperty(PropertyName = "type")]
    public string Type { get; set; } 

    [JsonProperty(PropertyName = "mac")]
    public string MacAdress { get; set; }
}
//Your code
dict1={"type":"check"}
dict2={"mac":"00:00:00:00:00:00"}

var type = JsonConvert.SerializeObject(dict1);
var mac = JsonConvert.SerializeObject(dict2);

var dict = new List<Dict>();

dict.Add(new Dict(){ Type = type, MacAdress = mac });

var jsonContent = JsonConvert.SerializeObject(dict, new JsonSerializerSettings()
{
    NullValueHandling = NullValueHandling.Ignore
});