2016-12-29 24 views
0

私はJSONに私のオブジェクトをシリアル化するための簡単なコードを持っている:Json.NETオブジェクトのシリアル化 - 変更インデント文字

Dim json As String = JsonConvert.SerializeObject(MyObject, Formatting.Indented) 

がどのように私はにインデント文字を変更することができます「 - 」JSONの結果では?私はJsonTextWriter.IndentCharがある知っているが、IndentChar、その後、変更した設定でシリアライズを設定し、私は、JsonTextWriterを作成するのYuval Itzchakovから下のリンク問題の答えはありますかJsonConvert.SerializeObject

答えて

2

と一緒にそれを実装する見当もつかない。 VBで書き直され、要求された ' - ' charを使用したコードです。

Sub Main 
    Dim anon = New With { .Name = "Yuval", .Age = 1 } 
    Dim result = SerializeObject(anon) 

    Console.WriteLine(result) 
End Sub 

Public Function SerializeObject(Of t)(ByVal arg As t) As String 

    Dim sw = New StringWriter() 

    Using jsonWriter = New JsonTextWriter(sw) 
     jsonWriter.Formatting = Newtonsoft.Json.Formatting.Indented 
     jsonWriter.IndentChar = "-"C 
     jsonWriter.Indentation = 4 

     Dim jsonSerializer = Newtonsoft.Json.JsonSerializer.CreateDefault() 
     jsonSerializer.Serialize(jsonWriter, arg) 
    End Using 

    Return sw.ToString() 

End Function 

結果

{ 
----"Name": "Yuval", 
----"Age": 1 
} 

出典:Customize indentation parameter in JsonConvert.SerializeObject

関連する問題