C#上的Unescape Double Curly Braces

时间:2018-05-17 14:59:27

标签: c# json escaping

我有一些json数据存储在数据库中,但是,出于任何奇怪的原因,它存储有转义的花括号,例如:

{{"Id":10,"Title":"Account Data","Date":"0001-01-01T00:00:00.000Z","Data":{{"Id":22,"Name":"My Object"}}}}

我想要的是解析这个字符串并获得一个有效的json字符串,而不是用{{}}静态替换{},所以我会这样做:

{
  "Id": 10,
  "Title": "Account Data",
  "Date": "0001-01-01T00:00:00.000Z",
  "Data": {
    "Id": 22,
    "Name": "My Object"
  }
}

我尝试使用Newtonsoft.Json,但是我找不到合适的方法来解决它。

一些额外信息:

  • 数据存储在Azure SQL数据库的一列中
  • 修改数据的存储方式不是一个选项

有谁知道一个好方法?

1 个答案:

答案 0 :(得分:0)

我只知道如何做到这一点:格式化字符串替换" {{"到" {"和"}}"到"}"

var str = "{{\"Id\":10,\"Title\":\"Account Data\",\"Date\":\"0001 - 01 - 01T00: 00:00.000Z\",\"Data\":{{\"Id\":22,\"Name\":\"My Object\"}}}}";
        str = str.Replace("{{", "{").Replace("}}", "}");