从URL读取json文件时,本地变量guid被新的GUID值替换

时间:2014-06-17 06:59:09

标签: url c#-4.0 json.net json

我是json的新手

网址中有一个json文件,

enter image description here

并将所有数据放入列表中,如下所示

        System.Net.WebClient wc = new System.Net.WebClient();
        string json = wc.DownloadString("http://192.168.1.7:90/eawebportal/poc/elements/index");
        List<JsonFormat> myDeserializedObjList = (List<JsonFormat>)Newtonsoft.Json.JsonConvert.DeserializeObject(json, typeof(List<JsonFormat>));

我正在 myDeserializedObjList 中获取列表。其中JsonFormat是一个类,如下所示

    public class JsonFormat
    {
        public string guid;
        public string type;
        public string name;

    }

我的预期输出是:

guid = 1-1-1-1-1-1-1 类型=要求 name =元素名称
guid = 2-2-2-2-2-2-2 type =要求 name =元素名称

但它输出为

guid = 539fe407-b5c8-4e02-ba7a-1410c0a80107 类型=要求 name =元素名称
guid = 539fe407-c0b8-4301-bf22-1410c0a80107 类型=要求 name =元素名称

为什么它如此......?

1 个答案:

答案 0 :(得分:1)

如果我在控制台应用程序中使用完全硬编码的数据,它会按预期工作(见下文)。因此,下载的数据文件与您显示的不同,或者您的代码中还有其他内容正在更改它。

class Program
{
    {
        string json = @"
        [
            { ""guid"" : ""1-1-1-1-1-1-1"", ""type"" : ""Requirement"", ""name"" : ""element name"" },
            { ""guid"" : ""2-2-2-2-2-2-2"", ""type"" : ""Requirement"", ""name"" : ""element name"" },
            { ""guid"" : ""3-3-3-3-3-3-3"", ""type"" : ""Requirement"", ""name"" : ""element name"" },
            { ""guid"" : ""4-4-4-4-4-4-4"", ""type"" : ""Requirement"", ""name"" : ""element name"" }
        ]";

        List<JsonFormat> list = JsonConvert.DeserializeObject<List<JsonFormat>>(json);

        foreach (JsonFormat jf in list)
        {
            Console.WriteLine("guid: " + jf.guid);
            Console.WriteLine("type: " + jf.type);
            Console.WriteLine("name: " + jf.name);
            Console.WriteLine();
        }
    }

    public class JsonFormat
    {
        public string guid;
        public string type;
        public string name;
    }
}

输出:

guid: 1-1-1-1-1-1-1
type: Requirement
name: element name

guid: 2-2-2-2-2-2-2
type: Requirement
name: element name

guid: 3-3-3-3-3-3-3
type: Requirement
name: element name

guid: 4-4-4-4-4-4-4
type: Requirement
name: element name