获取json文件信息并使用它的最佳方法[重复]

Posted

技术标签:

【中文标题】获取json文件信息并使用它的最佳方法[重复]【英文标题】:Best way to get the information of a json file and use it [duplicate] 【发布时间】:2019-06-05 10:47:41 【问题描述】:

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

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

非常感谢!


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

【问题讨论】:

Newtonsoft JSON 应该可以帮到你。 newtonsoft.com/json 什么是动态箭头类? 如果你得到的数据是已知的,你只需要使用Serialize and Deserialize策略。 你的意思是“数组”吗? 【参考方案1】:

首先制作两个类,如下:

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);
    

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

【讨论】:

请注意,这使用了Json.NET 库。 是的!感谢您提及这一点! 您缺少一个类:原始 JSON 是包含属性 name 的单个对象,该属性包含 Name 对象的数组。如果您尝试将 JSON 反序列化为 List&lt;Name&gt;,它将失败。 @BrianRogers 请检查!我已经更新了我的答案! 构造类并反序列化like this

以上是关于获取json文件信息并使用它的最佳方法[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从 node.js 和 Typescript 中的动态文件名加载 JSON 的最佳方法是啥?

在方法中传递数组并获取它的大小[重复]

无法从 JavaScript 中的 JSON 文件获取具有日期格式的对象 [重复]

从 yii 中的模型获取相关数据并返回 json 的最佳方法

在PHP中获取上传文件扩展名的最佳方法/实践是啥[重复]

如何仅使用 JavaScript 正确读取 json 文件 [重复]