我想删除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()方法,但引号不会被删除。请帮助我。
答案 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);