首页 新闻 搜索 专区 学院

一个关于DataContractJsonSerializer反序列化的问题

0
[待解决问题]

上面是要反序列化的字符串

下面是反序列化的类

 public class Freight

    {

        public int FID { get; set; }

      

        public string FName { get; set; }

     

        public int FProvince { get; set; }

        public string FProvinceName { get; set; }

      

        public int FCity { get; set; }

        public string FCityName { get; set; }

     

        public int FArea { get; set; }

        public string FAreaName { get; set; }

    

        public int FIsPostage { get; set; }

    

        public int FValuation { get; set; }

      

        public int FSendType { get; set; }

      

        public int FDefaultNumber { get; set; }

      

        public decimal FDefaultMoney { get; set; }

      

        public int FDefaultAddNumber { get; set; }

       

        public decimal FDefaultAddMoney { get; set; }

        public IList<Model.Freight_List> Freight_List { get; set; }

    }
public class Freight_List

    {

        public int FID { get; set; }

        public string FLName { get; set; }

        public string FLCityID { get; set; }

        public string FLProvinceID { get; set; }

        public int FLFirstNumber { get; set; }

        public decimal FLFirstMoney { get; set; }

        public int FLAddNumber { get; set; }

        public decimal FLAddMoney { get; set; }

    }

下面是反序列化的代码

 string str = File.ReadAllText(@"E:\1.txt", Encoding.GetEncoding("gb2312"));

            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Freight));

            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(str));

            Freight obj = ser.ReadObject(ms) as Freight;

            Console.WriteLine(obj.FName);

            Console.ReadLine();

 

这里是我要问的问题:反序列化的时候会出现错误:反序列化对象 属于类型 Freight 时出现错误。需要标记“\"”,但找到“é”。求高手给解决下。

问题补充:
字符串忘记贴了
{"FName":"通用模板","FProvince":"210000","FProvinceName":"辽宁省","FCity":"210200","FCityName":"大连市","FArea":"210203","FAreaName":"西岗区","FIsPostage":"0","FValuation":"1","FSendType":"1","FDefaultNumber":"1","FDefaultMoney":"1","FDefaultAddNumber":"1","FDefaultAddMoney":"1","Freight_List":[{"FLName":"大连 , 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州, 鞍山  沈阳 , 锦州","FLCityID":"210200,210300,210400,210100,210700,210800,210900,210500,210600,211300,211200,211100,211000,211400,420500,420600,420700,420800,420100,420200,420300,420900,421100,421000,421200,421300,422800,429005,429004,429006,429021,140800,140900,141000,141100,140300,140400,140500,140600,140700,140100,140200,350800,350900,350500,350700,350600,350300,350400,350100,350200,630100,632200,632300,632100,632800,632600,632700,632500,360300,360400,360100,361000,361100,360800,360900,360500,360700,360600,360200,410100,410300,410200,410600,410500,410800,410700,411100,410900,410881,411000,411300,411600,411400,411500,411700,410400,411200,330400,330300,330700,330600,330500,330200,330100,330900,331000,330800,331100,220100,220700,220800,220500,220600,220200,220400,220300,222400,340300,340400,340100,340200,340800,340600,340700,341300,341500,341100,341000,341200,341800,341600,341700,340500,712800,710800,710900,710700,711100,711300,711400,711200,711500,711900,711700,712100,712400,712700,712600,712500,710100,710200,710300,710500,710400,710600,469031,469030,469028,469027,469026,469025,469039,469038,469037,469036,469035,469034,469033,469005,469007,469006,469003,469002,460300,460100,460200,469001,530400,530300,530100,530700,530800,530900,530500,530600,532300,533100,533400,533300,532600,532500,532900,532800,520400,520300,522200,522400,522700,520100,520200,522300,522600,321300,321200,321100,321000,320900,320800,320600,320400,320500,320300,320200,320100,320700,110100,512000,513200,513300,513400,510800,510900,510500,510700,510600,510300,510100,511800,511900,511500,511600,511700,511300,511400,511000,511100,510400,231200,231100,230700,230400,230600,230300,231000,230900,230800,230500,230100,232700,230200,610300,610200,610100,610900,611000,610600,610700,610800,610400,610500,120100,445300,445200,445100,440100,440300,440200,442101,442000,441900,441500,441400,441800,441700,441600,440900,441300,441200,440500,440400,440800,440600,440700,500100,131100,130200,130400,130500,130600,130800,130900,131000,130100,130300,130700,431200,431300,430200,430100,430300,430400,430500,430700,430600,430900,431100,431000,433100,430800,623000,622900,620300,620400,620500,620100,621000,620900,620800,620700,620600,621200,621100,620200,370100,370500,370600,370300,370200,370400,371100,371000,370900,370700,370800,371600,371700,371500,371400,371200,371300,310100,540100,542200,542100,542400,542500,542600,542300,150200,150300,150400,150500,152200,152900,150100,150600,150700,150900,150800,152500,451400,451200,451300,451100,451000,450900,450700,450800,450100,450200,450300,450400,450500,450600,820200,820100,810300,810200,810100,640300,640500,640400,640100,640200,654000,654200,652300,653100,653200,652200,659004,659001,659002,652100,652900,654300,650200,650100,652700,652800,659003,653000,990100","FLProvinceID":"210000,420000,140000,350000,630000,360000,410000,330000,220000,340000,710000,460000,530000,520000,320000,110000,510000,230000,610000,120000,440000,500000,130000,430000,620000,370000,310000,540000,150000,450000,820000,810000,640000,650000,990000","FLFirstNumber":"2","FLFirstMoney":"2","FLAddNumber":"2","FLAddMoney":"2"}]}
蓝丶 sky的主页 蓝丶 sky | 初学一级 | 园豆:6
提问于:2014-07-18 09:47
< >
分享
所有回答(3)
0

你用 DataContractJsonSerializer 把一个 Freight 对象序列化成字符串,然后贴出来。

Launcher | 园豆:45045 (高人七级) | 2014-07-18 10:01

谢谢高手的回答,序列化成字符串就是我上面贴的那个字符串。我做的是一个运费模板设置,当把所有城市都选中,然后提交到后台要反序列化成对象的时候就会报需要标记“\"”,但找到“é”。求高手给解决下。

而只提交一部分城市的时候是可以正常序列化的。

上面的那个字符串我是把所有城市都提交后的字符串!

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 10:12

@蓝丶 sky: 你贴的那个字符串是通过下面的代码生成的吗?

 

Freight f = new Freight;

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Freight));

MemoryStream ms = new MemoryStream;

ser.WriteObject(ms,f);

ms.SeekToBegin;

string str = UTF8.GetString(ms.GetBuffer);

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-07-18 10:16

@Launcher: 那个是自己拼接的,是前台js拼接然后提交给后台要反序列化成对象Freight。

我通过代码生成的话,有全国各个城市,但是不知道是不是城市名称的问题,我要在博客园回复的时候提示:评论中含有不当词汇

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 10:22

@Launcher: 我要做的效果是这样的,如下图。

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 10:24

@Launcher: 当我只是选中少量城市的时候,提交到后台反序列化成对象Freight是可以的。

但是当各个城市全部选中的话就会报错:需要标记“\"”,但找到“é”。求高手给解决下。

个人觉得好像是json反序列化的时候长度过长的样子。

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 10:27

@蓝丶 sky: 这是我的第一个回复:

你用 DataContractJsonSerializer 把一个 Freight 对象序列化成字符串,然后贴出来

然后你告诉我:

序列化成字符串就是我上面贴的那个字符串

然后我就怀疑你没认真读我的回复,所以我再次追问:

你贴的那个字符串是通过下面的代码生成的吗?

然后你回复到:

那个是自己拼接的,是前台js拼接然后提交给后台要反序列化成对象Freight

 

那么现在问题明了了,所以请你再看我的第一个回复,如果你不愿意这么做,那我就没法回答了。

 

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-07-18 10:32

@Launcher: 好的,那我现在在数据库中插入一条,然后序列化成字符串一下!因为现在数据库中插入不了,所以序列化不了字符串。我现在手动输入一条数据。

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 10:35

序列化的代码

            Freight f = new Freight();
            f.FName = "通用运费模板";
            f.FProvince = 210000;
            f.FProvinceName = "辽宁省";
            f.FCity = 210300;
            f.FCityName = "鞍山市";
            f.FArea = 210302;
            f.FAreaName = "铁东区";
            f.FIsPostage = 0;
            f.FValuation = 1;
            f.FSendType = 1;
            f.FDefaultNumber = 1;
            f.FDefaultMoney = 1;
            f.FDefaultAddNumber = 1;
            f.FDefaultAddMoney = 1;
            f.Freight_List = new List<Freight_List>
            {
                new Freight_List(){
                    FLName = "大连 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 ",
                    FLCityID = "210200,210300,210400,210100,210700,210800,210900,210500,210600,211300,211200,211100,211000,211400,420500,420600,420700,420800,420100,420200,420300,420900,421100,421000,421200,421300,422800,429005,429004,429006,429021,140800,140900,141000,141100,140300,140400,140500,140600,140700,140100,140200,350800,350900,350500,350700,350600,350300,350400,350100,350200,630100,632200,632300,632100,632800,632600,632700,632500,360300,360400,360100,361000,361100,360800,360900,360500,360700,360600,360200,410100,410300,410200,410600,410500,410800,410700,411100,410900,410881,411000,411300,411600,411400,411500,411700,410400,411200,330400,330300,330700,330600,330500,330200,330100,330900,331000,330800,331100,220100,220700,220800,220500,220600,220200,220400,220300,222400,340300,340400,340100,340200,340800,340600,340700,341300,341500,341100,341000,341200,341800,341600,341700,340500,712800,710800,710900,710700,711100,711300,711400,711200,711500,711900,711700,712100,712400,712700,712600,712500,710100,710200,710300,710500,710400,710600,469031,469030,469028,469027,469026,469025,469039,469038,469037,469036,469035,469034,469033,469005,469007,469006,469003,469002,460300,460100,460200,469001,530400,530300,530100,530700,530800,530900,530500,530600,532300,533100,533400,533300,532600,532500,532900,532800,520400,520300,522200,522400,522700,520100,520200,522300,522600,321300,321200,321100,321000,320900,320800,320600,320400,320500,320300,320200,320100,320700,110100,512000,513200,513300,513400,510800,510900,510500,510700,510600,510300,510100,511800,511900,511500,511600,511700,511300,511400,511000,511100,510400,231200,231100,230700,230400,230600,230300,231000,230900,230800,230500,230100,232700,230200,610300,610200,610100,610900,611000,610600,610700,610800,610400,610500,120100,445300,445200,445100,440100,440300,440200,442101,442000,441900,441500,441400,441800,441700,441600,440900,441300,441200,440500,440400,440800,440600,440700,500100,131100,130200,130400,130500,130600,130800,130900,131000,130100,130300,130700,431200,431300,430200,430100,430300,430400,430500,430700,430600,430900,431100,431000,433100,430800,623000,622900,620300,620400,620500,620100,621000,620900,620800,620700,620600,621200,621100,620200,370100,370500,370600,370300,370200,370400,371100,371000,370900,370700,370800,371600,371700,371500,371400,371200,371300,310100,540100,542200,542100,542400,542500,542600,542300,150200,150300,150400,150500,152200,152900,150100,150600,150700,150900,150800,152500,451400,451200,451300,451100,451000,450900,450700,450800,450100,450200,450300,450400,450500,450600,820200,820100,810300,810200,810100,654000,654200,652300,653100,653200,652200,659004,659001,659002,652100,652900,654300,650200,650100,652700,652800,659003,653000,990100",
                    FLProvinceID="210000,420000,140000,350000,630000,360000,410000,330000,220000,340000,710000,460000,530000,520000,320000,110000,510000,230000,610000,120000,440000,500000,130000,430000,620000,370000,310000,540000,150000,450000,820000,810000,650000,990000",
                    FLFirstNumber=2,
                    FLFirstMoney=2,
                    FLAddNumber=2,
                    FLAddMoney=2
                }
            };
            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Freight));
            MemoryStream ms = new MemoryStream();
            ser.WriteObject(ms, f);
            string jsonString = Encoding.UTF8.GetString(ms.ToArray());
            ms.Close();
            Console.WriteLine(jsonString);

序列化后的字符串

/*
{"FArea":210302,"FAreaName":"铁东区","FCity":210300,"FCityName":"鞍山市","FDefau
ltAddMoney":1,"FDefaultAddNumber":1,"FDefaultMoney":1,"FDefaultNumber":1,"FID":0
,"FIsPostage":0,"FName":"通用运费模板","FProvince":210000,"FProvinceName":"辽宁
省","FSendType":1,"FValuation":1,"Freight_List":[{"FLAddMoney":2,"FLAddNumber":2
,"FLCityID":"210200,210300,210400,210100,210700,210800,210900,210500,210600,2113
00,211200,211100,211000,211400,420500,420600,420700,420800,420100,420200,420300,
420900,421100,421000,421200,421300,422800,429005,429004,429006,429021,140800,140
900,141000,141100,140300,140400,140500,140600,140700,140100,140200,350800,350900
,350500,350700,350600,350300,350400,350100,350200,630100,632200,632300,632100,63
2800,632600,632700,632500,360300,360400,360100,361000,361100,360800,360900,36050
0,360700,360600,360200,410100,410300,410200,410600,410500,410800,410700,411100,4
10900,410881,411000,411300,411600,411400,411500,411700,410400,411200,330400,3303
00,330700,330600,330500,330200,330100,330900,331000,330800,331100,220100,220700,
220800,220500,220600,220200,220400,220300,222400,340300,340400,340100,340200,340
800,340600,340700,341300,341500,341100,341000,341200,341800,341600,341700,340500
,712800,710800,710900,710700,711100,711300,711400,711200,711500,711900,711700,71
2100,712400,712700,712600,712500,710100,710200,710300,710500,710400,710600,46903
1,469030,469028,469027,469026,469025,469039,469038,469037,469036,469035,469034,4
69033,469005,469007,469006,469003,469002,460300,460100,460200,469001,530400,5303
00,530100,530700,530800,530900,530500,530600,532300,533100,533400,533300,532600,
532500,532900,532800,520400,520300,522200,522400,522700,520100,520200,522300,522
600,321300,321200,321100,321000,320900,320800,320600,320400,320500,320300,320200
,320100,320700,110100,512000,513200,513300,513400,510800,510900,510500,510700,51
0600,510300,510100,511800,511900,511500,511600,511700,511300,511400,511000,51110
0,510400,231200,231100,230700,230400,230600,230300,231000,230900,230800,230500,2
30100,232700,230200,610300,610200,610100,610900,611000,610600,610700,610800,6104
00,610500,120100,445300,445200,445100,440100,440300,440200,442101,442000,441900,
441500,441400,441800,441700,441600,440900,441300,441200,440500,440400,440800,440
600,440700,500100,131100,130200,130400,130500,130600,130800,130900,131000,130100
,130300,130700,431200,431300,430200,430100,430300,430400,430500,430700,430600,43
0900,431100,431000,433100,430800,623000,622900,620300,620400,620500,620100,62100
0,620900,620800,620700,620600,621200,621100,620200,370100,370500,370600,370300,3
70200,370400,371100,371000,370900,370700,370800,371600,371700,371500,371400,3712
00,371300,310100,540100,542200,542100,542400,542500,542600,542300,150200,150300,
150400,150500,152200,152900,150100,150600,150700,150900,150800,152500,451400,451
200,451300,451100,451000,450900,450700,450800,450100,450200,450300,450400,450500
,450600,820200,820100,810300,810200,810100,654000,654200,652300,653100,653200,65
2200,659004,659001,659002,652100,652900,654300,650200,650100,652700,652800,65900
3,653000,990100","FLFirstMoney":2,"FLFirstNumber":2,"FLName":"大连 , 鞍山 , 抚顺
 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 ,
沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈
阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳
, 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 ,
锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦
州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州
, 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 ,
营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营
口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口
, 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 ,
阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜
新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新
, 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 ,
本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本
溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪
, 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 ,
丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹
东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东
, 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 ,
朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝
阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳
, 铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 ,
铁岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁
岭 , 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭
, 盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 ,
盘锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘
锦 , 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦
, 鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 ,
鞍山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍
山 , 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山
, 抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 ,
抚顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚
顺 , 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺
, 沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 , 鞍山 , 抚顺 ,
沈阳 , 锦州 , 营口 , 阜新 , 本溪 , 丹东 , 朝阳 , 铁岭 , 盘锦 ","FLProvinceID":"2
10000,420000,140000,350000,630000,360000,410000,330000,220000,340000,710000,4600
00,530000,520000,320000,110000,510000,230000,610000,120000,440000,500000,130000,
430000,620000,370000,310000,540000,150000,450000,820000,810000,650000,990000"}]}


*/
支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 10:50

@Launcher: 由于各个城市的名称,博客园好像有禁止了哪些字符,所以每次要贴的时候就提示有不当词汇,所以这里的城市名称我就先复制同样的名称,然后粘帖到长度大小和各个城市的字符串的长度大小一致。

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 10:53

@蓝丶 sky: 同你拼接的字符串对比下,我粗略了看了下,至少这里就是不同的:

"FProvince":210000   // 使用 DataContractJsonSerializer 序列化的结果

"FProvince":"210000"   // 你拼接的结果

看一下 FProvince 的数据类型,是 int,在 JSON 规范中,数值类型不需要 "",http://json.org/

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-07-18 10:58

@Launcher: 好的,谢谢高手,我重新测试一下看看!有问题我在问你下哦!

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 11:01

@Launcher: 好像也不行哦,我直接用DataContractJsonSerializer序列化后的字符串,直接反序列化成对象,也是报错哦,麻烦Launcher再帮我看看哦,自己捣鼓了两天了还是没找到原因。

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 11:04

@蓝丶 sky: 

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Freight));
MemoryStream ms = new MemoryStream();
ser.WriteObject(ms, f);

ms.SeekToBegin.

var f2 = ser.ReadObject(ms);

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-07-18 11:08

@Launcher: Launcher大师,好像也还是不行哦!

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 11:13

@Launcher: 高手还在吗??

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 11:24

@蓝丶 sky: 

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-07-18 11:26

@Launcher: 高手你的Freight_List中的FLName属性值长度是不是比较短的呢?

可以麻烦你把FLName和FLCity设置得长一点测试下吗?

当FLName和FLCity长度不是那么长的时候,我这边也是可以正常的反序列化,但是当字符串长度一长就出现了我上面的那种错误!

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 11:31

@蓝丶 sky: 

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-07-18 11:39

@蓝丶 sky: 把你的中文字符改成数字或字母试试。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-07-18 11:40

@Launcher: 额,奇怪哦,我怎么就是不行,不然只能用JavaScriptSerializer了

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 11:42

@Launcher: 好的,我改成数字或字母试试!

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 11:46

@蓝丶 sky: 你的 DataContractJsonSerializer 在哪个程序集中?你的  .Net Framework 的版本是多少?

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-07-18 11:46

@Launcher: 高手,我要蛋疼了,改成字符串就可以。我是3.5版本的,引用的是using System.Runtime.Serialization.Json这个命名空间!

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 11:49

@蓝丶 sky: 先吃饭。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-07-18 11:51

@Launcher: 好的,谢谢Launcher,麻烦了你一上午了!非常感谢!

支持(0) 反对(0) 蓝丶 sky | 园豆:6 (初学一级) | 2014-07-18 11:52

@蓝丶 sky: 在 3.5 中,System.Runtime.Serialization.Json 应该是在 System.ServiceModel.Web.dll 中,4.0/4.5 时在 System.Runtime.Serialization.dll 中。我测试了下,没有问题。你可以在你的项目的引用中找到 System.Runtime.Serialization.dll,并把它删除掉。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-07-18 13:39
0

一般json的用法是在一处存,在另一外取,不存在拼接的情况。如果要这么搞还是建议用xml,固定好结构,也比较好查。

空明流光 | 园豆:62 (初学一级) | 2014-07-18 14:48
0

就是太长了.我遇到过.截断那个最长的就可以了

小烈哥 | 园豆:202 (菜鸟二级) | 2015-06-30 08:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册