JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。

JSON就是一串字符串 只不过元素会使用特定的符号标注。

{} 双括号表示对象

[] 中括号表示数组

"" 双引号内是属性或值

: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)

所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象

而[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组

当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一步,这是一个拥有一个name数组的对象。

ps:现在还有很多人存在一些误区,为什么{name:'json'}在检验时通过不了,那是因为JSON官网最新规范规定:

如果是字符串,那不管是键或值最好都用双引号引起来,所以上面的代码就是{"name":"json"}。

下面是一个json字符串,先去验证JSON数据格式(http://www.bejson.com/)如下:

{
"items_custom_get_response": {
"items": {
"item": [
{
"num_iid": 1,
"product_id": 0,
"skus": [
{
"created": null,
"modified": null,
"outer_id": null,
"price": null,
"properties": null,
"properties_name": "黑色",
"quantity": "2",
"sku_id": null
}
]
}
]
}
}
}

如果需要拿来用,肯定要反序列化,序列化成实体,结构如下:

public class Rootobject
{
public Items_Custom_Get_Response items_custom_get_response { get; set; }
} public class Items_Custom_Get_Response
{
public Items items { get; set; }
} public class Items
{
public List<Item> item { get; set; }
} public class Item
{
public int num_iid { get; set; }
public int product_id { get; set; }
public List<Sku> skus { get; set; }
} public class Sku
{
public object created { get; set; }
public object modified { get; set; }
public object outer_id { get; set; }
public object price { get; set; }
public object properties { get; set; }
public string properties_name { get; set; }
public string quantity { get; set; }
public object sku_id { get; set; }
}
使用VS2013或者2015可以快速生成对应的实体,就不需要自己动手写代码了。步骤如下:
1、复制json字符串,然后选择编辑->选择性粘贴->将JSON粘贴为类。 然后就在类文件中生成下面文件:
public class Rootobject
{
public Items_Custom_Get_Response items_custom_get_response { get; set; }
} public class Items_Custom_Get_Response
{
public Items items { get; set; }
} public class Items
{
public Item[] item { get; set; }
} public class Item
{
public int num_iid { get; set; }
public int product_id { get; set; }
public Sku[] skus { get; set; }
} public class Sku
{
public object created { get; set; }
public object modified { get; set; }
public object outer_id { get; set; }
public object price { get; set; }
public object properties { get; set; }
public string properties_name { get; set; }
public string quantity { get; set; }
public object sku_id { get; set; }
}

VS中快速生成json数据格式对应的实体的更多相关文章

  1. VS快速生成JSON数据格式对应的实体

          有固定好的Json数据格式,你还在手动敲对应的实体吗?有点low了!步入正题,这是一个json字符串,先去验证JSON数据格式(http://www.bejson.com/)如下: { & ...

  2. 快速生成json实体类

    读取一个json文件,并与实体相对应: static void Main(string[] args) { string json = ""; FileStream fs = ne ...

  3. 插件GsonFormat快速生成JSon实体类

    IntelliJ IDEA 个人觉得是目前最好最强最智能的Java IDE,默认已经集成了几乎所有主流的开发工具和框架. 1.常用工具支持Java日常开发需要接触到很多常用的工具,为了便于使用,很多工 ...

  4. 通过Visual Studio快速生成Json或XML反序列化类代码

    Visual Studio不愧是宇宙第一强的IDE工具,在Json.XML格式漫天飞.反序列化需求遍地走的现在,居然到最近才知道原来微软已经在Visual Studio集成了这么一样的良心功能,自动根 ...

  5. idea Mapper.java中快速生成@Param注解

    1.鼠标悬浮到方法后 2.Ctrl+Enter打开操作列表 3.选择[Mybatis] Generate @Param自动生成@Param() 4.说明:@Param("参数名") ...

  6. 在vscode中快速生成vue模板

    点击文件-->首选项-->用户代码片段-->输入vue,此时会打开vue.json文件,将下列代码复制进文件保存即可,新建一个vue文件,输入vue回车即可生成模板,$0表示生成模板 ...

  7. 在Linux终端中快速生成、解码二维码

    我们要实现两个功能: 解码Linux屏幕上的二维码,将结果输出在终端 在终端中将字符串转为二维码,直接显示二维码在终端中以供扫描 实现方法 生成二维码 qrencode是一个常见的生成二维码的CLI程 ...

  8. VS快速生成JSON数据类

    1.复制Json数据 2.

  9. JAVA中快速生成get与set

    快捷键 ctrl+Alt+S generate getters and setters

随机推荐

  1. mysql integer size 大小

    I was always wondering what the size of numeric columns in MySQL was. Forgive me if this is obvious ...

  2. linux关机

    init 0; init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等.shutdown 就是使用这种机制.init定义了8个运行级别(runle ...

  3. Android Keycode详解

    用JAVA写appium的testcase时,想用Android自带的物理返回键,网上找了下分享给大家. import io.appium.java_client.android.AndroidKey ...

  4. Asp.net MVC 批量删除数据

    ProductList视图 <div class="mid"> <div id="editInfo"> @using (Html.Beg ...

  5. linux i2c 设备节点读写

    最近需要操作24C02,封装了一下函数方便以后操作. 参考链接: https://my.oschina.net/handawei/blog/68526 http://blog.csdn.net/one ...

  6. java.lang.IllegalArgumentException: No converter found for return value of type: class Person

    在http://www.cnblogs.com/winner-0715/p/6033462.html我们讲到三个条件就能实现SpringMVC返回json的功能 但是按照这三个条件配置后,运行出现了错 ...

  7. VS2013的virtualpath在当前应用程序根的外部

    将项目升级到VS2013环境时,运行报"virtualpath 在当前应用程序根的外部"错误,如下图 搜寻解决方法如下: 1.禁用VS2013 IDE的浏览链接视图功能 2.在We ...

  8. POJ2262问题描述

    Goldbach's Conjecture   Description In 1742, Christian Goldbach, a German amateur mathematician, sen ...

  9. mysql怎么定义外键

    数据库mysql 建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键). 外键作用: 使两张表形成关联,外键只能引用外表中的列的值! 指定主键关键字: foreign key(列名) 引 ...

  10. mysql -B 恢复与不加

    -B 跟--database 意义一样 在默认不指定库时候 连续名称,只有第一个名称为库名,后面的都为表名 而使用 -B 或者 --database 之后 所有的名 都是库名 1 导出单个库时候加了- ...