如何将两个 SerializeObject 转换为一个 SerializeObject
How to convert two SerializeObject into one SerializeObject
SerializeObject 的当前代码:
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"
}
dict1={"type":"check"}
dict2={"mac":"00:00:00:00:00:00"}
var combinedObject = { "type": dict1.type, "mac": dict2.mac };
var jsonCustomObject = JsonConvert.SerializeObject(combinedObject);
请看看这是否对您有帮助。
您试图用 2 个元素序列化数组,因此它已反映在序列化内容中。如果您想要 json 表示具有 2 个属性的单个对象,那么您将创建一个具有 2 个属性的对象。
JObject jo = JObject.FromObject(item);
jo.Add("property_name", "property_value");
string json = jo.ToString();
您必须为您的数据定义一个模型。
像这样:
>
//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
});
如果对你有帮助,请告诉我。
SerializeObject 的当前代码:
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"
}
dict1={"type":"check"}
dict2={"mac":"00:00:00:00:00:00"}
var combinedObject = { "type": dict1.type, "mac": dict2.mac };
var jsonCustomObject = JsonConvert.SerializeObject(combinedObject);
请看看这是否对您有帮助。 您试图用 2 个元素序列化数组,因此它已反映在序列化内容中。如果您想要 json 表示具有 2 个属性的单个对象,那么您将创建一个具有 2 个属性的对象。
JObject jo = JObject.FromObject(item);
jo.Add("property_name", "property_value");
string json = jo.ToString();
您必须为您的数据定义一个模型。 像这样:
>
//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
});
如果对你有帮助,请告诉我。