问题标签 [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.

0 投票
22 回答
813261 浏览

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 库都没有这种开箱即用的明显能力——它们完全专注于通过强合约进行基于反射的反序列化。

有任何想法吗?

限制:

  1. 我不想实现自己的 JSON 解析器
  2. 还不能使用 ASP.NET 4.0
  3. 宁愿远离 JSON 的旧的、已弃用的 ASP.NET 类
0 投票
2 回答
36463 浏览

c# - Json.Net 可以处理列表吗?
List<User> list = LoadUsers();

JObject json = new JObject();

json["users"] = new JValue(list);

Doesn't seem to be working?

Error:

Could not determine JS

Doesn't seem to be working?

Error:


My under development local drupal site become very slow, how to solve?

I am developing locally a site with drupal and suddenly it became very slow. The last thing I made was installing the internationalization module.

Now when I try to reach administration panel I receive:

Fatal error: Maximum execution time of 60 seconds exceeded...

What to do now? Should I increase the maximum execution time allowed? OR could be that I have too many modules installed?

EDIT: Forgot to tell you that I am working on a PC with 2GB RAM and CPU 2.9 GHz, Windows XP + XAMPP

0 投票
7 回答
191579 浏览

c# - 在 C# 中解析 JSON

我正在尝试从 Google AJAX 搜索 API 解析一些 JSON 数据。我有这个 URL,我想把它分解,以便显示结果。我目前已经编写了这段代码,但是对于下一步该做什么我很迷茫,尽管那里有许多带有简化 JSON 字符串的示例。

一般来说,作为 C# 和 .NET 的新手,我一直在努力为我的 ASP.NET 页面获得真正的文本输出,因此建议我尝试 JSON.NET。谁能指出我正确的方向,只需编写一些从 Google AJAX 搜索 API 接收 JSON 并将其打印到屏幕上的代码?


编辑:全部修复!所有结果都运行良好。再次感谢 Dreas Grech!

该代码当前可以完美编译和运行,但没有返回任何结果。有人可以帮我返回我需要的东西,准备好打印到屏幕上的结果吗?

编辑:

Json.NET 使用与上述示例相同的 JSON 和类工作。

链接:使用 Json.NET 序列化和反序列化 JSON

有关的

C# - 将 json 格式的数据解析为嵌套的哈希表
解析 JSON 数组

0 投票
1 回答
9835 浏览

c# - 使用 DataContractJsonSerializer 反序列化变量类型 JSON 数组

我有一个这种形式的 JSON 字符串:

我正在尝试使用带有以下代码片段的 C# .NET 反序列化器 DataContractJsonSerializer 反序列化 JSON

现在由于 JSON 数组是变量类型的数组,我不知道对象 X 应该是什么类型

如果我的字符串是

我可以使用这个:

这对我有用。我想知道是否有任何方法可以反序列化变量类型 JSON 数组?

0 投票
1 回答
4094 浏览

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 对象之间的自然边界。

0 投票
7 回答
25499 浏览

javascript - 如何使用 JSON.NET 通过 ASP.NET MVC 传递 JSON 日期值?

可能重复:
格式化 Microsoft JSON 日期?

ASP.NET 函数Json()格式化并返回日期为

这必须在客户端处理,这是有问题的。您对来回发送日期值的方法有什么建议?

0 投票
4 回答
993 浏览

asp.net - 返回json数组的ajax请求,IE6/7正在缓存它并且数据不新鲜

出于某种原因,IE6/7 正在缓存返回 json 结果集的 ajax 调用。

我的页面进行调用,并返回一个 json 结果,然后我将其注入页面。

如何强制 IE6/7 进行此调用而不使用缓存的返回值?

0 投票
3 回答
2993 浏览

.net - Asp.net MVC json 还是 Json.net?

我现在正在使用 asp.net mvc 并想知道使用内置 Json 或Json.Net的更好选择是什么,我不确定一个是否比另一个有优势。

另外,如果我确实选择走 Json.Net 的路线,那么我应该使用稳定版还是 beta 4?我不确定测试版有多不稳定。

0 投票
2 回答
4739 浏览

c# - 使用 json.net c# 反序列化 json

我是 Json 的新手,所以有点绿色。

我有一个基于 Rest 的服务,它返回一个 json 字符串;

我一直在使用 Json.net 并尝试将字符串反序列化为对象等。我编写了一个扩展方法来提供帮助。

我期待一组 treeNode[] 对象。但似乎只有另一个对象的 treeNode[] 属性才能正确反序列化。

我有办法从反序列化中获得一个直接的数组吗?

干杯

0 投票
1 回答
3337 浏览

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 一起玩吗?

最终解决方案: