【问题标题】:json replace backslash to double quote [duplicate]json将反斜杠替换为双引号[重复]
【发布时间】:2021-06-17 10:26:49
【问题描述】:

大家好,我又来了。
我遇到了一个问题,我使用 Web Api 的 HTTP GET 方法 来获取数据库中的 json 数据。
代码将是:

VifundaController.cs

[HttpGet]
        public string Query2(string str1, string str2)
        {
            string SQL = "";
            StringBuilder builder = new StringBuilder();
            Hashtable parameters = new Hashtable();
            DBController l_dbc = new DBController("UseDB");
            DbConnection conn = l_dbc.NewConnection();
            DbTransaction trans = conn.BeginTransaction();

            
            SQL = ("SELECT * FROM vibfcash WHERE bfcash_year = @year and bfcash_stage = @stage");

            parameters.Add("@year", new StructureSQLParameter(str1.ToString(), SqlDbType.NVarChar));
            parameters.Add("@stage", new StructureSQLParameter(str2.ToString(), SqlDbType.NVarChar));

            DataTable dt = new DataTable();
            dt = l_dbc.FillDataTable(builder.ToString(), parameters, false);

            string str_json = JsonConvert.SerializeObject(dt);
            string js = str_json;

            return js;
        }

然后当我使用http://localhost/api/vifundna/Query2?str1=109&str2=2调用api时,
api 返回屏幕的字符串带有反斜杠和双引号,例如:\"
那么如何将反斜杠和双引号 \" 替换为仅双引号 " ?
感谢你们!!! :)

【问题讨论】:

  • const newSring = str.replaceAll('\"', '"');应该这样做
  • 还是不行:(
  • 您是否有可能对 JSON 进行双重序列化,或者尝试删除 SerializeObject?只是一个想法。

标签: c#


【解决方案1】:

你可以像这样使用replace javascript函数。

str.replace("\\", "\"");

如果字符串中有多个\,使用循环替换所有\。

如果您使用的是 CSharp,请执行以下操作。

str = str.Replace("\\", "\"");

请试一试,让我知道它是否有效。

【讨论】:

  • 很遗憾,这不起作用:(
  • 您使用哪种编程语言? CSharp 还是 javascript?
  • 我用C#编程
  • 我已经更新了我的答案。请查看并尝试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-27
  • 2013-04-15
  • 2018-02-13
  • 2018-10-16
  • 2017-07-25
  • 2019-11-29
  • 1970-01-01
相关资源
最近更新 更多