c#解析php发过来的json字符串的问题

风中飘过一行代码 2013-10-15 11:35:11
我从一php端获得他发过来的json数据,但是汉字部分成了{"rt":false,"msg":"\u751f\u4ea7\u6570\u636e\u5217\u8868\u4e3a\u7a7a"}(msg里应该是汉字)
然后我用c# System.Web.Script.Serialization 下的 JavaScriptSerializer类序列化成json发给php端,但是他那解析后汉字部分成乱码了。
php端用的是php内置的转json函数,c#端用的就是JavaScriptSerializer这个类,怎么解决这个问题?
...全文
180 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
机器人 2013-10-15
  • 打赏
  • 举报
回复
这是unicode 没有问题的。 我用 newtonsoft.json 反序列化对象 (用nuget manager安装 install-pakcage newtonsoft.json)

    class Program
    {
        static void Main(string[] args)
        {
            var json = File.ReadAllText("json.txt");
            Console.WriteLine(json);

            var result = Newtonsoft.Json.JsonConvert.DeserializeObject<Result>(json);
            Console.WriteLine(result.msg); //输出:生产数据列表为空
            Console.Read();
        }
    }

    public class Result
    {
        public bool rt { get; set; }
        public string msg { get; set; }
    }
  • 打赏
  • 举报
回复
引用 1 楼 fangxinggood 的回复:
这是unicode 没有问题的。 我用 newtonsoft.json 反序列化对象 (用nuget manager安装 install-pakcage newtonsoft.json)

    class Program
    {
        static void Main(string[] args)
        {
            var json = File.ReadAllText("json.txt");
            Console.WriteLine(json);

            var result = Newtonsoft.Json.JsonConvert.DeserializeObject<Result>(json);
            Console.WriteLine(result.msg); //输出:生产数据列表为空
            Console.Read();
        }
    }

    public class Result
    {
        public bool rt { get; set; }
        public string msg { get; set; }
    }
你好,能加下qq说下吗?我qq 2652770247 谢谢~

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧