繁体   English   中英

如何在c#中的json字符串中删除首尾双引号?

[英]how to remove first and last double quotes in a json string in c#?

我想删除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()方法,但是引号没有被删除。请帮助我。

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

jsonStr = jsonStr.Trim( '"' );

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

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

在OP中编辑时,字符串的开头和结尾仅在双引号上,但是如果我们在开头和结尾有多个双引号,并且我们只想仅删除第一个和最后一个,则可以使用string.Substring

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

这对我有帮助。

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

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

在这种情况下,您不希望只删除开头和结尾的" ,而是需要将其视为json字符串并对其进行解码。这还将在字符串内将编码的\\"替换为\\" "

如果您使用的是Newtonsoft Json:

decodedString = JsonConvert.DeserializeObject<string>(jsonString);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM