C#解析数组形式的json数据

在学习时遇到把解析json数据的问题,网上也搜了很多资料才得以实现,记录下来以便翻阅。

1. 下载开源的类库Newtonsoft.Json(下载地址http://json.codeplex.com/, 也可以在这里下载)

2. vs 添加dll引用
(1). 我是将.dll文件放在了bin/debug文件下
(2). c#项目名称上右键->添加->引用->浏览->选择.dll所在文件位置->确定
(3). 添加引用: using Newtonsoft.Json;

3. 生成json字符串对应的c#实体类
json生成实体类工具:http://tool.chinaz.com/tools/json2entity.aspx (注:在生成json格式数据对应的实体类时,每对参数之间用逗号隔开)

要解析的json格式的数据:

[
    {
        "ItemNumber":"022" ,
        "ItemName":"cap"
    },
    {
        "ItemNumber":"023",
        "ItemName":"golve"
    }
]

自动生成的实体类:

class Item
{
    /// <summary>
    /// 编号
    /// </summary>
    public string ItemNumber { get; set; }

    /// <summary>
    /// name
    /// </summary>
    public string ItemName { get; set; }
}

class ItemList
{
    /// <summary>
    /// Item列表
    /// </summary>
    public List<Item> item { get; set; }
}

4. 解析json数据

string jsonText = "[{‘ItemNumber‘:‘022‘,‘ItemName‘:‘cap‘},{‘ItemNumber‘:‘023‘,‘ItemName‘:‘golve‘}]"; //要有[]
ItemList itemList = JsonConvert.DeserializeObject<ItemList>(jsonText); //反序列化json字符串得到对象
foreach(Item item in itemList.item)
{
    Console.WriteLine(Item.ItemNumber);
    Console.WriteLine(Item.ItemName);
}

参考:

https://blog.csdn.net/sajiazaici/article/details/77647625

https://www.cnblogs.com/zxx193/p/3664562.html

原文地址:https://www.cnblogs.com/zeroingToOne/p/9248911.html

时间: 2024-10-13 07:47:47

C#解析数组形式的json数据的相关文章

python中jsonpath模块,解析多层嵌套的json数据

1. jsonpath介绍用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, PHP 和 Java. 使用方法如: import jsonpathres=jsonpath.jsonpath(dic_name,'$..key_name')#嵌套n层也能取到所有key_name信息,其中:“$”表示最外层的{},“..”表示模糊匹配,当传入不存在的key_name时,程序会返回

【第3篇】通过JSON-Lib把数组转换成Json数据

package ivyy.taobao.com.domain.jsonlib; import ivyy.taobao.com.entity.Address; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; /** *@DEMO:j

Jquery JavaScript解析Ajax返回的json数据(转)

最近在用jquery的ajax方法传递接收json数据时发现一个问题,那就是返回的data数据,有时候可以直接作为json数据使用,可有时候又不行. 经过网友指出,这个问题已经有了比较明确的结论,那就是jquery ajax方法的complete方法是不会处理dataType的,所以如果你是在complete里面试图直接用json数据是不可行的,必须先通过eval. $.ajax方法如下: Java代码 $.ajax({ type: “POST”, url: ctxRoot+’FolderAct

JSON的简单使用_解析前台传来的JSON数据

1 package cn.rocker.json; 2 3 import org.junit.Test; 4 5 import net.sf.json.JSONArray; 6 import net.sf.json.JSONObject; 7 8 /** 9 * @ClassName: parseJsonFromFront 10 * @Description: 解析前台传来的JSON 11 * @author 112 12 * @date 2018年3月28日 上午10:47:01 13 */

ajaxFileUpload上传文件成功后却无法解析服务器返回的json数据

ajaxFileUpload是一款很好用的文件上传插件,网上也有很多关于它的版本,但在上传文件成功后想返回json数据给前台时,却会出现无法解析json数据的情况. 仔细调试发现其实在向服务器提交数据后,是进入了success回调函数的,只是没有解析到json数据.那就说明服务器做出了响应的,进入了success方法的,唯一的问题就是前台接受的数据不是json格式的. 使用console.log输出data发现并不是纯粹的json数据,其中头部多了<pre style="word-wrap

控制层解析post请求中json数据的时候,有些属性值为空

原因: 1.默认json数据解析的时候,值会赋给键的首字母是小写的封装的bean中的属性,如果没有首字母小写的属性,也不会报错.即bean中有getXXX方法时,从json到model会增加xxx属性,有setXXX方法是,从model到json会增加xxx的赋值(其中bean中xxx的首字母必须小写) 2.在内部类中使用时,不加static变量会不能转换成功 3.private或protected变量中,缺少get或者set方法会影响转换,而且这些方法中不能有其他的非自动生成的操作,否则这些无

将字典或者数组转换成JSON数据或者字符串

源码: NSDictionary+JSON.h 与 NSDictionary+JSON.m // // NSDictionary+JSON.h // Category // // Created by YouXianMing on 15-2-09. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import <Foundation/Foundation.h> @interface NSDictionary (JSON)

js解析php返回的json数据无法获取length的问题分析

1.问题出现的过程,js解析php json_encode 的数据,无法获取长度信息,提示undefined debug: 首先打印查看了php encode后的数据,返现最外层是一个中括号,误以为编码成了一个数组,于是将其强制类型转换为Object ,但是长度依然undefined 在同样是解析json的话题ppt页面,控制台打印json,发现有一个length的属性,起初以为是在php端加到数组中的,查看后发现并非如此,于是乎stackoverflow上查询得知,要想有此属性,必须是一个js

JSONObject解析List&lt;Map&gt;的json数据

json数据格式 {   "list": [     {       "ann_type_name": "邮件",        "anne_name": "plugin.png",        "anne_path": "/jscdc/upload/eamil/plugin.png",        "userid": "11e4-e