私は.NET 4.5アプリケーションを持っています。現在、私は、XMLファイルに出力されたリストを、書いています:以下のようにJsonConvertが私が探しているものを返さないリストにある
List<string[]> list = new List<string[]> { };
list.Add(new string[] { "text1", "this is text 1" });
list.Add(new string[] { "text2", "this is text 2" });
list.Add(new string[] { "text3", "this is text 3" });
list.Add(new string[] { "text4", "this is text 4" });
using (XmlWriter writer = XmlWriter.Create("output.xml"))
{
writer.WriteStartDocument();
writer.WriteStartElement("texts");
foreach (string[] item in list)
{
writer.WriteElementString(item[0], item[1]);
}
writer.WriteEndElement();
writer.WriteEndDocument();
}
これの出力が返されます。このリストにJsonConvert.SerializeObject()
を実行
<?xml version="1.0" encoding="utf-8"?>
<texts>
<text1>this is text 1</text1>
<text2>this is text 2</text2>
<text3>this is text 3</text3>
<text4>this is text 4</text4>
</texts>
は、次の値を返します。
[
["text1", "this is text 1"],
["text2", "this is text 2"],
["text3", "this is text 3"],
["text4", "this is text 4"]
]
もちろん、これはそれほど有用ではありません。もっと便利なものは次のとおりです。
{
"text1": "this is text 1",
"text2": "this is text 2",
"text3": "this is text 3",
"text4": "this is text 4"
}
これを行うにはどうすればよいでしょうか?
エラーが発生するのは、C#で文字列配列のリストを作成することです。結果を得るには、 'text1、text2、... 'というプロパティを持つオブジェクトが必要です。そして、あなたはこのオブジェクトに対してJsonConvertを実行することができます。 – DomeTune
配列を行として扱います。それは、常に列のカンマ区切りになります。あなたはその出力を得るために別の方法で行く必要があります。 – Aaron