2016-10-21 4 views
0

現在、私たちのプロジェクトでは、Stringの記述を持つ特定のクラスがあります。
さらに、私たちはオブジェクトを持っています。c# - オブジェクトの一部としてシリアル化されたオブジェクトキーを持つオブジェクト

Object Foo { 
    Apple: {parts: 5}, 
    Description: theproblematicobject, 
    ,,,, 
} 

説明はタイプ文字列として設定されます。したがって、オブジェクトは、記述の値として代入されるために直列化される必要があります。

最後に、fooをJSONConvert.serializer(foo)として返します。 受信時には、オブジェクトfooは形式がJSONの形式ですが、説明はまだシリアル化された文字列です。

問題のあるオブジェクトを直列化して(文字列型に適合する)どのように使用できる関数の組み合わせがありますか?要求に応じて逆シリアル化が行われると、jsonの代わりにきれいにフォーマットされたjsonになります。

結果

"Name": "Friday, 21 October 2016 New...", 
    "Description": "{\"HoursList\":[],\"EmployeeFullname\":\"..........", 
    "SwipeLeftAction": null, 
    "SwipeLeftDescription": null, 
    "SwipeLeftColor": null, 
    "SwipeRightAction": null, 
    "SwipeRightDescription": null, 
    "SwipeRightColor": null, 
    "ClickAction": "uiweb/em......." 
} 

希望:

"Name": "Friday, 21 October 2016 New...", 
    "Description": {"HoursList":[], 
        "EmployeeFullname" : ".........." 
       } 
    "SwipeLeftAction": null, 
    "SwipeLeftDescription": null, 
    "SwipeLeftColor": null, 
    "SwipeRightAction": null, 
    "SwipeRightDescription": null, 
    "SwipeRightColor": null, 
    "ClickAction": "uiweb/em......." 
} 

答えて

-1

はおそらく、あなたは間違ってシリアル化を行う任意のフォーマッタか何か他のロジックを持っています。どのライブラリのバージョンを使用していますか?

最新のJsonConvert.SerializeObjectがうまくいきます。ここ

は少しの例である:

private class Foo 
{ 
    public int Apple { get; set; } 
    public Description Description { get; set; } 
} 

private class Description 
{ 
    public int[] HoursList { get; set; } 
} 


var a = new Foo 
{ 
    Apple = 1, 
    Description = new Description 
    { 
     HoursList = new[] {1} 
    } 
}; 

var b = JsonConvert.SerializeObject(a); 

結果は、標準形式でJSON文字列である:

{"Apple":1,"Description":{"HoursList":[1]}} 
+0

foo.DescriptionはString型です(他のものを壊さずに変更することはできません) –

-1

は、これを試してください

XMLストリングに問題のオブジェクトをシリアル化の代わりにJSONは次のとおりです。 Serialize an object to XML

XMLをJSONに変換すると、次のようになります。 How to convert JSON to XML or XML to JSON?

+0

少なくともdownvoteに行く理由があれば、それを教えてください。 –

+0

私はそれを実際に見ていない –

+0

素晴らしい - それが助けてくれることを願う! –

0

descriptionのタイプは文字列です。あなたはそれをJSON自体からはっきりと見ることができます。これは、任意の自動デシリアライザから文字列を取得することを意味します。

オブジェクトを削除したい場合は、descriptionフィールドに2番目のJSONデシリアライザを実行します。

関連する問題