首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将反序列化的动态Json转换为强类型类

将反序列化的动态Json转换为强类型类
EN

Stack Overflow用户
提问于 2015-08-03 18:19:47
回答 2查看 2.6K关注 0票数 2

我有一个消息格式化类,它需要能够序列化和反序列化JSON消息。这个集中式的类将由一个单独的客户机调用,它从服务器发送和接收消息。我遇到的问题是,我不知道在响应消息上会收到什么类类型。序列化部分很好,下面是代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public override object Serialize(object message)
{
   return new JavaScriptSerializer().Serialize(message);
}

我能得到的最接近的方法是使用这样的动态操作符来反序列化。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public override object Deserialize(object message)
{
   return new JavaScriptSerializer().Deserialize<dynamic>(message.ToString());
}

但是我真的想返回的是实际的类,类中的属性填充了来自响应消息的数据。我和GetType一起玩过

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
return new JavaScriptSerializer().Deserialize(message.ToString(), typeof(Some Class));

但是,如果不事先了解响应类,我就无法尝试任何操作。我考虑过将类名存储在Json对象中,并使用Activator将其拆分,但是是否有更干净的方法来做到这一点呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-03 18:57:36

不使用JavaScriptSerializer,您可以在序列化期间使用JSON.NET并嵌入类型信息。详情请参阅此:http://www.newtonsoft.com/json/help/html/SerializeTypeNameHandling.htm

然后,您可以在反序列化期间从Json字符串中提取类型信息,如下所示:Json.Net - Get type name when deserializing to JObject

票数 2
EN

Stack Overflow用户

发布于 2015-08-03 18:54:28

尝试使用泛型方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public  T Deserialize<T>(object message)
{
    return new JavaScriptSerializer().Deserialize<T>(message.ToString());
} 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31799661

复制
相关文章
41 - 将json字符串转换为类的实例
如何将一个json文档映射为对象 product.json {"name":"iPhone9", "price":9999, "count":3000} import json class Product: def __init__(self, d): self.__dict__ = d f = open('product.json', 'r') jsonStr = f.read() print(jsonStr) product = json.loads(jso
ruochen
2021/05/27
3.6K0
41 - 将json字符串转换为类的实例
c++ - 如何自动将强类型枚举转换为int?
a::LOCAL_A是强类型枚举试图实现的功能,但是有一个小的区别:普通枚举可以转换为整数类型,而强类型枚举不能在没有强制转换的情况下实现。
ccf19881030
2021/03/20
6K0
42 - 将类的实例转换为json字符串
1. 将一个对象转换为对应的json字符串 import json class Product: def __init__(self, name, price, count): self.name = name self.price = price self.count = count product = Product('特斯拉', 1000000, 20) def product2Dict(obj): return {
ruochen
2021/05/27
2.8K0
42 - 将类的实例转换为json字符串
jackson将json转换为json对象
高久峰
2023/07/02
3350
使用 C# 9 的records作为强类型ID - JSON序列化
在本系列的上一篇文章中,我们注意到强类型ID的实体,序列化为 JSON 的时候报错了,就像这样:
全球技术精选
2021/01/21
1.5K0
使用 C# 9 的records作为强类型ID - JSON序列化
将字符串转换为date类型_java字符串转date类型
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
14.1K0
java将字符串转换为json对象的方法_java jsonobject转string
在与服务器交互的时候,我们往往会使用json字符串,今天的例子是java对象转化为字符串,
全栈程序员站长
2022/11/08
21.2K0
libexslt库将XML转换为JSON
最近在一个 C 程序中碰到需要将 XML 数据转换为 JSON 数据的问题,多番查找几种方法,觉得此程序刚好用到了 Linux 下的 libexslt XSLT 库,因此想直接通过 XSLT 将 XML 转为 JSON 数据。
随心助手
2019/10/15
4.3K0
将JSON字符串反序列化为指定的.NET对象类型
  关于将JSON字符串反序列化为指定的.NET对象类型数据常见的场景主要是关于网络请求接口,获取到请求成功的响应数据。本篇主要讲的的是如何通过使用Newtonsoft.Json中的JsonConvert.DeserializeObject<T>(string value)方法将对应的JSON字符串转化为指定的.NET对象类型数据。
追逐时光者
2020/06/19
3.1K0
通俗的方式理解动态类型,静态类型;强类型,弱类型
引言 今天和一个朋友讨论 C++ 是强类型还是弱类型的时候,他告诉我 C++ 是强类型的,他和我说因为 C++ 在写的时候需要 int,float 等等关键字去定义变量,因此 C++ 是强类型的,我告诉他 C++ 是弱类型的他竟然还嘲笑我不懂基础。 我又尝试去问了另外一个同学 Python 是强类型还是弱类型的时候,得到的竟然是弱类型,就因为定义变量没有 int,float! 然后我想找一些网上的资料试图告诉他们他们是错的(我是对的),结果发现网上的资料大多为了严谨结果把简单的问题(其实并不简单)说的很
桃翁
2018/06/27
2.3K0
将Excel文件转换为JSON格式时保留原始数据类型
为了在将Excel文件转换为JSON格式时保留原始数据类型,您可以使用Python库,例如pandas和json。
jackcode
2023/04/25
2.7K0
将Excel文件转换为JSON格式时保留原始数据类型
Kotlin---类型判断与强转
在java中使用instanceof来判断类型。而在Kotlin中,则是使用is来判断:
None_Ling
2018/12/14
4.4K0
Java将String类型数据转换为Integet类型
今天在写一个java web项目的时候遇到的问题。 由于java中httpservlet传过来的request数据中,所有数据类型都是String的。 但是我们的业务逻辑当中需要的是id的值,是需要Integer类型,所以在接受到数据后需要做一个强制转换。 示例代码如下:
吃猫的鱼Code
2023/02/02
9000
jQuery将form列表转JSON
一、form表单序列化后的格式 image.png 二、JS 函数 function filedSelectJson(){ var a = {}; var reserveVenueCons = $("#orderForm").serializeArray(); var numreg = /\[[0-9]*\]\./;//正则表达式 var index = 0; var attnum = 5;//list对象中有几个属性,这里有5个:reserveField.id,
week
2018/08/27
3.6K0
jQuery将form列表转JSON
outputstream转byte数组_int类型转换为byte类型
Java中将inputstream输入流转换成byte[]字节数组
全栈程序员站长
2022/11/08
7.8K0
json字符串转换为Json对象_前端字符串转json
参考网上的文章,做了一个关于json的总结,进行留存帮助以后阅读,希望可以帮助到大家。
全栈程序员站长
2022/09/28
7.6K0
jsonobject string转json_string转换为long
本文使用一个小例子展示在java中怎样将一个JSON格式的字符串转化为JSONObject对象。注意,我们使用的是 org.json.simple.JSONObject;
全栈程序员站长
2022/09/22
3.3K0
jsonobject string转json_string转换为long
如何将 JSON 转换为有序判断?
JSON(JavaScript Object Notation)是系统之间数据交换的流行格式。它是一种轻量级、基于文本且易于解析的格式,已成为互联网上数据交换的标准。但是,JSON 不会为数据结构中的元素提供任何顺序。虽然这在大多数情况下可能不是问题,但在某些情况下,元素的顺序很重要。
很酷的站长
2023/08/11
4120
如何将 JSON 转换为有序判断?
什么是强类型、弱类型、动态类型、静态类型语言
强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就死该数据类型。
JavaEdge
2021/02/22
7.3K0
什么是强类型、弱类型、动态类型、静态类型语言
将tensor转换为图像_tensor转int
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
11.4K0

相似问题

将JSON转换为强类型对象

12

将json数据转换为强类型视图

20

无法将JSON反序列化为强类型对象

11

将MongoDB文档转换为强类型类

12

将2的JSON数组序列化为强类型对象

33
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文