问题标签 [json.net]
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.
json - 如何将 JSON 反序列化为简单的字典在 ASP.NET 中?
我有一个简单的 JSON 键/值列表,通过 POST 发送回 ASP.NET。例子:
我不想反序列化为强类型的 .NET 对象
我只需要一个普通的旧Dictionary(Of String, String)或一些等价物(哈希表、Dictionary(Of String, Object)、老式 StringDictionary——地狱,一个二维字符串数组对我有用。
我可以使用 ASP.NET 3.5 中可用的任何东西,以及流行的 Json.NET(我已经在使用它来对客户端进行序列化)。
显然,这些 JSON 库都没有这种开箱即用的明显能力——它们完全专注于通过强合约进行基于反射的反序列化。
有任何想法吗?
限制:
- 我不想实现自己的 JSON 解析器
- 还不能使用 ASP.NET 4.0
- 宁愿远离 JSON 的旧的、已弃用的 ASP.NET 类
c# - 在 C# 中解析 JSON
我正在尝试从 Google AJAX 搜索 API 解析一些 JSON 数据。我有这个 URL,我想把它分解,以便显示结果。我目前已经编写了这段代码,但是对于下一步该做什么我很迷茫,尽管那里有许多带有简化 JSON 字符串的示例。
一般来说,作为 C# 和 .NET 的新手,我一直在努力为我的 ASP.NET 页面获得真正的文本输出,因此建议我尝试 JSON.NET。谁能指出我正确的方向,只需编写一些从 Google AJAX 搜索 API 接收 JSON 并将其打印到屏幕上的代码?
编辑:全部修复!所有结果都运行良好。再次感谢 Dreas Grech!
该代码当前可以完美编译和运行,但没有返回任何结果。有人可以帮我返回我需要的东西,准备好打印到屏幕上的结果吗?
编辑:
Json.NET 使用与上述示例相同的 JSON 和类工作。
有关的
c# - 使用 DataContractJsonSerializer 反序列化变量类型 JSON 数组
我有一个这种形式的 JSON 字符串:
我正在尝试使用带有以下代码片段的 C# .NET 反序列化器 DataContractJsonSerializer 反序列化 JSON
现在由于 JSON 数组是变量类型的数组,我不知道对象 X 应该是什么类型
如果我的字符串是
我可以使用这个:
这对我有用。我想知道是否有任何方法可以反序列化变量类型 JSON 数组?
c# - 关于如何使用 JSON.NET 创建自定义 GeoJson 序列化程序的建议?
我将尝试创建一个 C# 库,以使用Json.NET(用于序列化)和GeoAPI.NET(用于几何定义) 将对象序列化为GeoJSON 。
我已经考虑过两种不同的序列化实现方法,但我不清楚哪一种是最好的方法。他们是:
方法 1 - 自定义属性
第一种方法涉及创建几个自定义属性,这些属性可以应用于任何类以修改序列化。例如,一个类可能被这样装饰:
然后序列化对象将非常简单:
这种方法的优点是任何业务对象都可以转换为 GeoJSON 对象,前提是它具有所需的属性(例如 Geometry )。缺点是我需要创建许多自定义属性来支持序列化。此外,这会产生“混淆”业务对象的影响。
最后,我还没有确定 JSON.NET 是否可以使用这种方法,但似乎可以。
方法 2 - 自定义 JsonConverter
第二种方法涉及为各种类型创建自定义转换器。例如,我可能有一个 GeoJsonConverter,当传递给定类型的对象时,比如 Feature,GeoJSON 对象被创建。这可能看起来像:
然后我就可以像这样序列化到 GeoJson:
这里的优点是这似乎更容易创建。我已经证明,这种方法可以通过一个非常简单的原型实现。此外,如果我链接到NetTopologySuiteFeature
,则该类已经定义。
缺点是我的业务对象需要Feature
在序列化之前映射到 a 。不过,这可能被认为是一个优势,因为这可能会提供层之间的自然解耦。在这两种情况下肯定会与 GeoAPI 紧密耦合,而在后者则与 NetTopologySuite 紧密耦合。我想我可以接受。
我知道其他几个可用的 GeoJson 序列化程序,例如GeoJson.NET ,但是我想要一种与 Json.NET API 一致的方法,因为这是我们选择的序列化程序。
您是否看到为什么一种方法比另一种方法更受青睐的任何明显原因?也许还有另一种我不知道的方法?
仅供参考,我倾向于第二种方法。似乎它会更容易实现,并且整体上会更干净。我也碰巧喜欢它会创建的域对象和 GeoJson 对象之间的自然边界。
asp.net - 返回json数组的ajax请求,IE6/7正在缓存它并且数据不新鲜
出于某种原因,IE6/7 正在缓存返回 json 结果集的 ajax 调用。
我的页面进行调用,并返回一个 json 结果,然后我将其注入页面。
如何强制 IE6/7 进行此调用而不使用缓存的返回值?
.net - Asp.net MVC json 还是 Json.net?
我现在正在使用 asp.net mvc 并想知道使用内置 Json 或Json.Net的更好选择是什么,我不确定一个是否比另一个有优势。
另外,如果我确实选择走 Json.Net 的路线,那么我应该使用稳定版还是 beta 4?我不确定测试版有多不稳定。
c# - 使用 json.net c# 反序列化 json
我是 Json 的新手,所以有点绿色。
我有一个基于 Rest 的服务,它返回一个 json 字符串;
我一直在使用 Json.net 并尝试将字符串反序列化为对象等。我编写了一个扩展方法来提供帮助。
我期待一组 treeNode[] 对象。但似乎只有另一个对象的 treeNode[] 属性才能正确反序列化。
我有办法从反序列化中获得一个直接的数组吗?
干杯
c# - 如何从 C# 代码读取 Google AJAX Feed API 结果?
我想在我的 C# 控制台应用程序中使用Goolge AJAX Feed API将返回的提要保存为 C# 集合,这样我就可以在我的 .net 应用程序中使用这个 .net collcetion。
我注意到谷歌提供了一个 Java 访问代码片段,但我不知道如何用 C# 对其进行编码。我知道有一个非常好的 .net 开源库Json.NET,我们可以使用它来读取和写入 JSON 格式的数据。
有人可以给我一个例子,如何使用 C# 和Json.NET与 Google AJAX Feed API 一起玩吗?
最终解决方案: