我有一个 JSon 响应,其中包含大量 \u003c 或 \u00252 或其他类似的字符串。我需要一个适当的函数才能将这些字符串解码为正确的字符。
有各种关于如何反序列化 JSON 字符串的帖子。 这里展示了一个很好的反序列化通用方法。下面的代码取自那里。
public static T Deserialise<T>(string json)
{
T obj = Activator.CreateInstance<T>();
using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json)))
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
obj = (T)serializer.ReadObject(ms); // <== Your missing line
return obj;
}
}
Run Code Online (Sandbox Code Playgroud)
如果您只是在寻找一种将字符串转换为 ASCII 的方法,请重新阅读您的文章,然后查看这篇文章。此代码的原始作者为@Adam Sils
static string DecodeEncodedNonAsciiCharacters( string value ) {
return Regex.Replace(
value,
@"\\u(?<Value>[a-zA-Z0-9]{4})",
m => {
return ((char) int.Parse( m.Groups["Value"].Value, NumberStyles.HexNumber )).ToString();
} );
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15144 次 |
| 最近记录: |