首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

大婶们帮忙看看下面的小程序哪里出错了?几行代码!找不到异常原因

2014-01-17 
大婶们帮忙看看下面的小程序哪里出错了?几行代码!找不到错误原因!这是之前一个高手些的,我自己修改了一下,

大婶们帮忙看看下面的小程序哪里出错了?几行代码!找不到错误原因!
这是之前一个高手些的,我自己修改了一下,不知道哪里出错了!


using System;
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Json;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var sw = new DataContractJsonSerializer(typeof(TB));
            var str = File.ReadAllText("data.txt");
            var obj = (TB)sw.ReadObject(new MemoryStream(Encoding.Unicode.GetBytes(str)));
    var objn=obj.details;
            Console.WriteLine("A的值为:{0}", objn[0].A[0][0]);
            Console.ReadKey();
        }
    }

    public class TB
    {
        public TA[] details { get; set; }
    }

    public class TA
    {
        public int[] A { get; set; }
        public long datetime { get; set; }
        public int[] B { get; set; }
        public int[] C { get; set; }
        public bool D { get; set; }
    }
}

data.txt文件里面的内容是:

{
    "details": [
        {
            "A": [
                [
                    "老王",
                    "70岁"
                ],
                [
                    "老李",
                    "83岁"
                ]
            ],
            "DataTime": 1389542400000,
            "B": [
                0,
                289277,
                61086
            ],
            "C": [
                26567,
                27263
            ],
            "D": false
        }
    ]
}

[解决办法]
//读取文件时要指定一下编码
var str = File.ReadAllText("data.txt", Encoding.Default);
[解决办法]
TA结构应该是这样

public class TA
{
    public string[][] A { get; set; }
    public long datetime { get; set; }


    public int[] B { get; set; }
    public int[] C { get; set; }
    public bool D { get; set; }
}

热点排行