Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取并使用json文件信息的最佳方法_C#_Arrays_Json_Class - Fatal编程技术网

C# 获取并使用json文件信息的最佳方法

C# 获取并使用json文件信息的最佳方法,c#,arrays,json,class,C#,Arrays,Json,Class,我正在用c#构建一个应用程序,需要在.json文件中解析/创建/编辑/删除信息(等等)。 Underneeth是文件.json的外观 我正在考虑做动态箭头类(不知道这是否是我们用英语说的方式)。 有没有更快更简单的方法 多谢各位 { "name": [ { "var1": string or int, "var2": string or int, etc.. . . . }, { "var1": stri

我正在用c#构建一个应用程序,需要在.json文件中解析/创建/编辑/删除信息(等等)。 Underneeth是文件.json的外观

我正在考虑做动态箭头类(不知道这是否是我们用英语说的方式)。 有没有更快更简单的方法

多谢各位

{
  "name": [
   {
     "var1": string or int,
     "var2": string or int,
     etc..
     .
     .
     .
   },
   {
     "var1": string or int,
     "var2": string or int,
     etc..
     .
     .
     .
   }
 ]
}

首先,按如下方式进行两次分类:

public class Name
{
   public List<SampleObject> SampleObjects {get; set;}
}

public class SampleObject
{
    public int var1;
    public int var2;
   ....
}
public void JsonFileReader()
{
    using (StreamReader r = new StreamReader("yourJsonFile.json"))
    {
        string json = r.ReadToEnd();
        List<Name> items = JsonConvert.DeserializeObject<Name>(json);
    }
}
公共类名
{
公共列表SampleObjects{get;set;}
}
公共类SampleObject
{
公共int var1;
公共int var2;
....
}
然后尝试以下方法:

public class Name
{
   public List<SampleObject> SampleObjects {get; set;}
}

public class SampleObject
{
    public int var1;
    public int var2;
   ....
}
public void JsonFileReader()
{
    using (StreamReader r = new StreamReader("yourJsonFile.json"))
    {
        string json = r.ReadToEnd();
        List<Name> items = JsonConvert.DeserializeObject<Name>(json);
    }
}
public void jsonfillereader()
{
使用(StreamReader r=newstreamreader(“yourJsonFile.json”))
{
字符串json=r.ReadToEnd();
List items=JsonConvert.DeserializeObject(json);
}
}

注意:不要忘记使用Newtonsoft.Json添加

newtonsoftjson应该对您有所帮助。什么是类的动态箭头?如果你得到的数据是已知的,你只需要使用该策略。你是说“数组”吗?请注意,这利用了库。是的!谢谢你提到这个!您缺少一个类:原始JSON是一个包含属性
name
的单个对象,该属性包含一个
name
对象数组。如果您试图将JSON反序列化为
列表
,它将失败。@BrianRogers请检查!我已经更新了我的答案!构造类并反序列化