服务堆栈 - 将复杂的Csv反序列化为Json

时间:2017-03-30 11:18:02

标签: servicestack-text

我有一个复杂的csv,我需要转换成json

Csv数据样本

    body
    {
        margin: 0;
        padding: 0;
    }
    .polygon_container
    {
        width: 100%;
        height: 100%;
        background: red;
    }

    .polygon
    {
        width: 50%;
        height: 50%;
        background: white;
        transform: translateX(50%) translateY(50%);
    }

上面的示例数据并不复杂,但我认为这足以证明问题

我首先通过

将csv转换为动态对象
var csv="Id,Name,Seo\n13,Foo,\"{\"\"SeoUrl\"\": \"\"some-seo-url\"\",\"\"SeoPageTitle\"\": \"\"SeoPageTitle\"\",\"\"SeoKeywords\"\": null,\"\"SeoDescription\"\": \"\"Some Seo Description.\"\"}\"\n";

这为我提供了每行的输出,如下所示

var obj= csv.FromCsv<List<dynamic>>();

现在我想将obj变换为json,所以我做

1) {[Id, 13]} 
2) {[Name, Foo]}
3) {[Seo, {"SeoUrl":"some-seo-url","SeoPageTitle":"SeoPageTitle","SeoKeywords":null,"SeoDescription":"Some Seo Description."}]}

这给了我一个输出

var json= obj.ToJson();

但是,我期待像这样的输出

[
  {
    "Id": "13",
    "Name": "Foo",
    "Seo": "{\"SeoUrl\":\"some-seo-url\",\"SeoPageTitle\":\"SeoPageTitle\",\"SeoKeywords\":null,\"SeoDescription\":\"Some Seo Description.\"}"
  }
]

对此的任何帮助都将受到高度赞赏。

0 个答案:

没有答案