问题标签 [json2csharp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - How to rename and remap fields with illegal json field names
I have used json2csharp to produce some nice c# class into which I can deserialize json.
It is actually working as expected EXCEPT that json2csharp named some of the fields invalid_name . I renamed those to valid csharp names but when serialized those class are null.
I found this other SO post... where one of the answerers said the following...
Keep in mind the class I have pasted below will not work directly, because of the naming of some of the fields in the json. You may have to rename them manually and map them.
This exactly describes my problem. Unfortunately, the answer gives no clues on actually HOW to "map them." So can someone tell me how to manually map some json arrays to c# classes.
I am using RestSharp deserializers, btw.
Any ideas?
c# - 无法将 JSON 字符串反序列化为对象
盖兹
我正在尝试将 JSON 字符串解析为对象。我有以下实体,我在其中解析 JSON 字符串
我正在使用以下方法将字符串解析为对象
下面是我试图解析的 JSON 字符串
https://docs.google.com/document/d/1k81M_UxIrXpHUPQNDUCHDfNw1wY7LM4mAaXjwpYMshk/edit?usp=sharing
下面的 json 字符串正在工作
https://docs.google.com/document/d/1uQNwMmSyEZSolyxUVJl6gXzZZPr6aRAf_WAogmUvVqt4/edit?usp=sharing
解析时出现以下错误
无法反序列化数据合同类型“GAP.Entities.Room”,因为成员“RoomImage”不是公共的。将成员设为公开将修复此错误。或者,您可以将其设为内部,并在程序集上使用 InternalsVisibleToAttribute 属性以启用内部成员的序列化 - 有关更多详细信息,请参阅文档。请注意,这样做有一定的安全隐患。
注意 - RoomImage 在实体类中被标记为公共。仅当 JSON 字符串包含 RoomImage 数组字符串时才会出现此错误,否则不会出错。
非常感谢任何帮助。
谢谢维诺德
c# - 将此 JSON 响应反序列化到 C#
我有这个特定的 JSON 响应,我试图反序列化但没有成功。我希望有人能帮助我。
这是我得到的 JSON 响应:
}
我使用了 json2csharp http://json2csharp.com并得到了这些推荐的类:
但是当我尝试在我的代码中使用它时:
我得到的是(观看):
显然我没有为 DeserializeObject 创建(json2csharp)正确的类,遗憾的是我无法控制 JSON 响应(供应商 = SimpliSafe)。
很明显,“98765”是一个值(位置编号),但 json2csharp 将它放入这个 __invalid_type__98765 类中,这可能就是它变为 null 的原因。
知道类应该如何寻找这个特定的 JSON 以成功反序列化吗?
谢谢!扎克斯
json2csharp - 如何将json响应转换为c#字典?
我有以下 json 响应,我想将其转换为 C# 模型。我面临的问题是它的键值是整数,当我通过转换器将它转换为 C# 时,它会生成与这些值一样多的类。如何在反序列化时将其转换为字典。
c# - 无法访问 json 类上的变量。C#
我最近尝试使用 twitch json api,我从来没有使用过 json 的经验,所以这是一个很好的挑战,但后来我使用了 json2csharp.com 并将 json 字符串转换为这样的类:
现在我尝试访问观众,但它不允许我。我这样做。
json - 如何在 ASP.Net 中为多级 Json 格式创建模型?
问题说明:在 asp.net 中构建一个 web api 来发布多级 json 格式的数据。
json格式:
我试图解决这个问题。我的模型如下:
我的模型:
这些模型生成这种 Json 格式:
我需要这些括号,就像问题规范一样。该怎么办?我正在使用 ASP.Net Web API 控制器。
c# - 将值传递给使用 json2csharp 创建的类对象
我使用 json2csharp 创建了下面的 json 类。
下面是由 json2Csharp 创建的类。
在下一步中,我想在这个创建的类中传递值。之后,通过序列化此类的对象,我想将该序列化的 Json 传递给我正在使用的一项服务。我在下面尝试通过将Turn C# object into a JSON string in .NET 4引用。但是得到错误对象引用未设置为对象的实例。
如果我做错了什么,那么如果有人能在这个过程中指导我,我将不胜感激。
c# - Json 对 C# 对象的响应
我正在尝试将 Json 响应转换为 C# 对象。我的代码如下。
$ HttpResponseMessage 响应 = client.GetAsync(TARGETURL).Result;
我的 Json 对象类是:
结果字符串为:
我收到一个错误:
c# - 如何将错误的 Json 修复为 C# 将字符串数组反序列化为具有空值的属性?
由于某种原因,反序列化后 Json 中的非空字符串数组成为具有 null 值的类属性,而它应该变为 non-empty List<string>
。
这是json:
相同的 json,但已解析(为了更好的可读性):
我使用http://json2csharp.com/添加正确的类,匹配这个特定的 json。我重命名了一些类型名称,但结构和以前一样。这是类的代码:
这是我偶然发现问题的地方:
available_places
字段为空,而它应该成为字符串列表"037","038","039","040","041","042","043","044","045","046","049","050","051","052"
我还尝试使用来自http://json2csharp.com/的“原样”(不重命名)类和属性名称。没有帮助。并且看起来类和属性的结构与 json 匹配,因为否则它会在解析期间给我异常或整个 RootObject 将为空。以防万一我也尝试将 available_places 类型从 更改List<string>
为List<int>
。
关于 Json 到 C# 转换的问题可能已经被问过数十亿次了,但我没有发现与这个案例相关。我在这里想念什么?
c# - Newtonsoft.Json:当有附加属性时如何将 json 转换为 xml?
- 我们创建一个匹配 json 的 xsd 模式
- 从 xsd 模式生成 ac# 类
- 使用newtonsoft.json将json反序列化为object和object to xml(基于生成的类)
这是必需的,因为我们使用的产品只能处理 xml 而不能处理 json。这适用于大多数 json 响应。
现在我们必须在传入的 json 中支持其他属性(任何)。所以我们创建了一个带有“ProcessContents = lax”的“Any”元素的xsd 模式。生成的类包含如下所示的任何元素。
以下是不同 Json 输入的行为。
- json 必须包含名称“Any”以匹配任何元素。这不满足附加属性的想法。
- 我可以添加一个“JsonProperty("SomeName")”,但我仍然应该知道我不知道的附加属性名称。
有人可以提供一种方法来做到这一点。谢谢。
Edit1: 在建议使用 JsonExtensionData 之后,该类看起来像这样。
我看到附加属性被反序列化为一个对象,如下图所示。 收到错误:“无法序列化 System.Collections.Generic.Dictionary`2 类型的成员 .AdditionalProperties [[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Object, mscorlib, Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089]],因为它实现了 IDictionary。"} 问:如何解决这个问题并将其序列化为 XmlAny 元素?谢谢。