如何删除c#中json字符串中的第一个和最后一个双引号?

时间:2015-10-16 06:13:44

标签: c# asp.net json string

我想删除json字符串中的第一个和最后一个双引号。

"[{\"CircleID\":1,\"CircleName\":\"Andhra Pradesh\"},{\"CircleID\":4,\"CircleName\":\"Assam\"},{\"CircleID\":5,\"CircleName\":\"Bihar\"},{\"CircleID\":6,\"CircleName\":\"Chennai\"},{\"CircleID\":7,\"CircleName\":\"Delhi\"},{\"CircleID\":8,\"CircleName\":\"Gujarat\"},{\"CircleID\":9,\"CircleName\":\"Himachal Pradesh\"},{\"CircleID\":10,\"CircleName\":\"Haryana\"},{\"CircleID\":17,\"CircleName\":\"Mumbai\"},{\"CircleID\":26,\"CircleName\":\"Jharkhand\"},{\"CircleID\":27,\"CircleName\":\"Chhattisgarh\"}]"

在上面的json字符串我想删除第一个和最后一个双引号。要删除。我试过但没有用。我使用string.replce方法,string.trim()方法,但引号不会被删除。请帮助我。

3 个答案:

答案 0 :(得分:5)

您可以使用String.Trim不要忘记将结果分配回字符串变量。 c#中的字符串是不可变的,我们需要将更改后的值赋给变量。

jsonStr = jsonStr.Trim( '"' );

如果您有多个字符,则可以使用重载String.Trim(Char[])

jsonStr = jsonStr.Trim( new Char[] { '"' } );
OP中的

编辑在字符串的开头和结尾只有双引号,但如果我们在开头和结尾都有多个双引号,我们只想删除第一个和最后一个然后我们可以使用string.Substring

jsonStr = jsonStr.Substring(1, jsonStr.Length-2);

答案 1 :(得分:-1)

这对我有帮助。

        responseContent = responseContent.Substring(1, responseContent.Length - 1);
        responseContent = responseContent.Substring(0, responseContent.Length - 1);

答案 2 :(得分:-1)

我假设"\"实际上在字符串中,而不是在源代码中嵌入该字符串或在调试器中显示它的工件。

在这种情况下,您不希望仅删除初始和尾随",但您需要将其视为json字符串并对其进行解码。这也将在字符串中用普通\"替换编码的"

如果您正在使用Newtonsoft Json:

decodedString = JsonConvert.DeserializeObject<string>(jsonString);
相关问题