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

时间:2020-06-05 10:47:11

标签: c# xamarin c#-4.0 xamarin.forms

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"
}

3 个答案:

答案 0 :(得分:0)

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个元素序列化数组,因此它已反映在序列化的内容中。如果您想要具有2个属性的单个对象的json表示,那么您将创建一个具有2个属性的对象。

答案 1 :(得分:0)

JObject jo = JObject.FromObject(item);
jo.Add("property_name", "property_value");
string json = jo.ToString();

答案 2 :(得分:0)

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

>

import csv
from matplotlib import pyplot as plt


x_axe = []
y_axe = []
with open("file.csv", "r") as csv_file:
    csv_reader = csv.DictReader(csv_file)
    for lines in csv_reader:
        x_axe.append(float(lines[csv_reader.fieldnames[0]]))

with open("file.csv", "r") as csv_file:
    csv_reader = csv.DictReader(csv_file)
    for i in range(1, len(csv_reader.fieldnames)):
        for lines in csv_reader:
            y_axe.append(float(lines[csv_reader.fieldnames[i]]))
        plt.plot(x_axe, y_axe, label=csv_reader.fieldnames[i])
        # y_axe.clear()   this did not help
plt.legend()

plt.show()

因此,您可以像这样序列化:

>

//System.ComponentModel.DataAnnotations.Schema

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

    [JsonProperty(PropertyName = "mac")]
    public string MacAdress { get; set; }
}

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

相关问题