json的反序列化

在开发的过程中,我们避免不了去访问别人的接口,那么就意味着我们需要处理数据返回给前端。一般调用接口以后我们得到的数据是一个json的格式,那么这个时候我们就需要,自己反序列化这个数据。
首先我们先来看看json数据返回的格式。
{
“status”:200,
“error”:null,
“pageInfo”:
{
“totelRecord”:98,
“pageIndex”:1,
“pageSize”:10
},
“data”:
[{“cinemaCode”:”xxxxxxx”,”cinemaName”:”华士达影城(邻水店)”,”movieName”:”妖猫传”,”seatNum”:”88”,”tp”:”2D”,”th”:”VIP6厅”,”lang”:”国语”,”dt”:”2017-12-28”,”startTime”:”11:00”,”endTime”:”13:09”},{“cinemaCode”:”xxxxxxx”,”cinemaName”:”华士达影城(邻水店)”,”movieName”:”妖猫传”,”seatNum”:”88”,”tp”:”2D”,”th”:”新世纪百货邻水商都2厅”,”lang”:”国语”,”dt”:”2017-12-28”,”startTime”:”13:15”,”endTime”:”15:24”}
]}
这是我访问一个接口返回的数据,可以看到数据的格式是非常规范的,这样的格式我们非常容易的解决。
我们需要定义实体bean,bean的格式就是返回数据的格式。
MessModel result = new ObjectMapper().readValue(s, MessModel.class);
然后我们json转换直接就拿到数据了。

第二种情况。
[{“cinemacode”:”xxxxxxx”,”boxoffice”:”148983.0”}]
可以看到。这个上面的格式有点,不一样了,不能直接用实体bean接受数据。我们需要换一种方法。
ObjectMapper objectMapper = new ObjectMapper();
JavaType javaType = objectMapper.getTypeFactory().constructParametricType(List.class, ReposeMessVo.class);
List mess = null;
mess = objectMapper.readValue(responseMess, javaType);

这样我们就可以拿到数据了。

在C#中,可以使用JsonConvert类的DeserializeObject方法来进行JSON反序列化操作。例如,你可以创建一个包含JSON字符串的变量,然后使用JsonConvert.DeserializeObject<T>方法将其反序列化为指定的对象类型。下面是一个示例代码: ```csharp string jsonStr = "{\"ID\":2,\"Name\":\"鲁智深\",\"Age\":230,\"Sex\":\"男\"}"; Student student = JsonConvert.DeserializeObject<Student>(jsonStr); ``` 在这个示例中,我们首先定义了一个包含JSON字符串的变量`jsonStr`,然后使用`JsonConvert.DeserializeObject<Student>(jsonStr)`方法将其反序列化为Student对象。最后,我们可以通过访问student对象的属性来获取反序列化后的数据。 希望这个例子能够帮助你理解如何在C#中进行JSON反序列化操作。如果你有任何其他问题,请随时提问。 #### 引用[.reference_title] - *1* *3* [C#序列化和反序列化json)](https://blog.csdn.net/qq_44386034/article/details/125638718)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [C#中Json的序列化,反序列化](https://blog.csdn.net/Alexanderise/article/details/88675183)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值