问题标签 [json-deserialization]

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 投票
3 回答
1419 浏览

json - 如何解析 json 但将一个特定节点序列化为字符串?

假设我有这个 JSON 示例:

我想将其反序列化为以下类:

我想要的结果是标题按正常反序列化,但“自定义”下的 json 子树不反序列化并设置为原始 json 字符串:

另一个重要注意事项是,我无法将自定义节点下的原始 JSON 更改为使用转义 json,因此它将被视为字符串。

0 投票
0 回答
204 浏览

c# - windows phone 反序列化 json

我有一个奇怪的问题。所以我在我的应用程序中对 Web 服务进行了几次调用,该服务以数据进行回复。但是,我使用的是基于令牌的登录系统,因此当用户第一次进入应用程序时,我会从 Web 服务获取一个令牌以登录该特定用户,并且该令牌仅返回该用户的详细信息。

我遇到的问题是,当用户更改时,我需要再次拨打电话,以获取新用户的详细信息,但使用 Visual Studio 的断点调试,它会显示新用户的令牌进行调用,但问题是当 json 获取时反序列化,就好像它仍然读取旧数据并反序列化,当我用新用户退出我的应用程序时它工作正常,所以它好像正在读取缓存值,但我不知道如何清除它?我确信正在进行新的调用,问题在于反序列化,但我尝试在再次反序列化之前清除这些值,但没有任何效果。我是否缺少 json 反序列化器的某些内容,如何清除其缓存值?

在这里,我拨打电话并将其设置为不缓存,因此每次都会拨打新电话:

在这里我对结果进行反序列化,在此部分显示旧数据,因此“token_details”中显示的原始 json 是正确的,只有当我反序列化 token_details 时,它才会显示错误的数据。

反序列化 = JsonConvert.DeserializeObject(token_details);

我要反序列化的类是一个简单的类,这里没什么特别的,我什至尝试过创建构造函数,以便每次调用它时都会清除值。

uri 在拨打电话之前:

{ https://whatever.co.za/token/?code=BEBCg==&id=WP7&junk=121edcd5-ad4d-4185-bef0-22a4d27f2d0c } - 旧电话

"UBCg==" - 旧回复

{ https://whatever.co.za/token/?code=ABCg==&id=WP7&junk=56cc2285-a5b8-401e-be21-fec8259de6dd } - 新电话

"UBCg==" - 新响应与旧调用相同

正如你所看到的,我每次调用时都附加了一个新的 GUID,但是在调用 downloadstringtaskasync 方法之前会读取新的 uri,但它会返回旧数据

  • "&junk=" + Guid.NewGuid());
0 投票
1 回答
549 浏览

json - 反序列化JSon时如何获取详细错误

我正在使用JSon.net库来反序列化一些对象,它工作正常:

但是,在我的情况下,json 可能包含无效数据(如上面的 SSN),在这种情况下,我得到的所有错误都是“输入字符串的格式不正确”。有没有办法找出究竟是哪个领域引发了错误?

0 投票
2 回答
3152 浏览

c# - 如何命名 c# 类字段以能够反序列化具有无效字符的 json 字段名称

我正在使用 JSON.NET 反序列化我拥有的一些 JSON 响应。到目前为止,我一直很成功。为了让 JSON.NET 正确反序列化对象,类中的字段名称需要与 JSON 中的完全一致。问题是我有一些字段名称中包含我不能在 C# 中使用的时髦字符,例如 {"(.

有谁知道如何重命名字段以便正确映射?

这是一个简短的例子,说明什么是有效的。

JSON输入:

反序列化类:

反序列化:

这被正确映射。当我尝试处理以下字段时,问题就开始了:

反序列化类:

我将不胜感激任何帮助。

0 投票
1 回答
2256 浏览

c# - Restsharp和反序列化到字典

我有一个有趣的问题,即我JSON为相同的 URI 调用返回的结果可能会根据用户的 ID 略有不同。我不知道所有差异的组合,因为事情可能会随着时间而改变。例如,对同一 URL 的三个不同请求可能会返回这三种不同的 JSON 表示。

请注意,第一个调用包含Question1第二个调用包含Question2,第三个调用包含surname and Question3

反序列化的代码如下所示:-

我想要做的是要么返回一个字典集合,ALL其中包含list不常见且未反序列化的内容,要么返回包含list. 一些假设是,如果需要,列表中的所有值都可以视为字符串。

这可以使用RESTSharp吗?我不想在编译时使用动态,因为我不知道所有的可能性。基本上,一旦我有了字典,我就可以在运行时循环和映射我需要的位置。

0 投票
1 回答
797 浏览

jquery - jqGrid JSON 映射未读取 INDEX 值

我正在尝试使用 jquery 1.6.2.mins 和最新的 jqGrid - jqGrid 4.5.4 显示 jqGrid。

我的项目设置是:ASP.NET - MVC2 使用 Visual Studio 2010。框架是 .Net 4.0

问题:在我的 C# 类中,我从数据库中添加了我将在某一时刻使用的所有行。我只想显示两行最初(NAMEDESCRIPTION)。

jqGrid 显示两行,但它在第一行显示我的 id 行,它应该显示描述列显示的内容。所以基本上发生的事情是,行向右移动,我的列映射不起作用。 NAME = 'NAME_TXT',但由于某种原因,我在显示中得到的是NAME = ID

我还想知道如何显示从 C# 代码返回的 JSON 数据的所有内容,如何在 中显示对象console.log("JSON DATATYPE: " + $datatype),诸如此类。

谢谢你。

JavaScript 代码:

C#代码:

我过去尝试过的其他 C# 代码不起作用:

0 投票
4 回答
24022 浏览

c# - 使用 JSON.net 将 JSON 解析为匿名对象 []

我有一个要解析为对象 [] 的 json 字符串:

生成的匿名对象数组需要包含原始 json 对象的每个属性。我的问题是 JsonConvert.DeserializeObject 返回一种 JContainer 或 JObject。我无法确定返回普通 c# 对象的方法。

这是我当前尝试的一系列非功能代码。我不必使用 JSON.net,但如果可能的话,我想确保与生成 json 的代码的兼容性。

更新

我正在使用生成的对象数组通过反射调用方法。解析的 json 对象的类型在运行时是未知的。问题的症结在于 JObject 或 JContainer 对象类型与被调用方法的签名不匹配。动态具有同样的副作用。方法被这样调用:

0 投票
1 回答
1594 浏览

json - d3.js 如何将 json 数据作为工具提示附加到圆圈上

我正在研究 d3 示例http://bost.ocks.org/mike/nations/

在此处输入图像描述

当我多年来移动光标时,我试图在相应的圆圈上添加 json 数据的工具提示。然而,它只显示了第一年的价值。它不显示与所选年份相对应的数据。

json 文件包含以下内容:

[ {

}]

0 投票
1 回答
15283 浏览

json - 无法使用 Newtonsoft.Json.JsonConvert.DeserializeObject 反序列化 xml 字符串

嗨,我将 xml 作为字符串传递

当我尝试为 Web Api 创建自定义模型绑定器时

作为参数传递给以下方法的 json 字符串是 xml 作为字符串,我在 Newtonsoft.Json.JsonConvert.DeserializeObject(json); 面临异常;异常详细信息:解析值时遇到意外字符:<。路径 '',第 0 行,第 0 位置。

0 投票
0 回答
626 浏览

c#-4.0 - c#间歇性Json反序列化错误获取cookie值?

问题:Json 反序列化期间偶发错误

我偶尔会在我的 .cs 文件中收到以下 JsonReaderException:

解析值时遇到意外字符:%。路径 '',第 0 行,第 0 位置。

在这行代码中使用 Newtonsoft.Json.JsonConvert 加载和反序列化 JSON 格式的 cookie 对象的代码行:

The JSON value from cookie as per Firebug = {"a": "4dSlshoOCgkg0zQop1cdZx41llyTzLlli1Ol19fNCK14dSlsh21pluss8qh74dSlshpluss85KnbQeq22eq22", "b": "9999", "c": "11", "d": "0", "e": "4dSlshoOCgkg0zQop1cdZx41llyTzLlli1Ol19fNCK14dSlsh21pluss8qh74dSlshpluss85KnbQeq22eq22", “f”:“/jtemplates/ratesn.html”,“g”:“1”,“h”:“1”,“i”:“0”,“j”:“0”,“k”:“ 0”,“l”:“0”,“m”:“0”,“n”:“0”,“o”:“0”,“p”:“0”,“q”:“0” ,“r”:“0”,“s”:“0”,“t”:“0”,“u”:“0”,“v”:“0”,“w”:“0”,“x”:“0”,“y”:“0”,“z”:“0”}

获取 cookie 值的 MyCookinator 函数 =

编辑:更多信息= GetCookie 函数是:

当 cookie 的内容结构没有改变时,我不知道为什么我有时会在这一行出现错误。

帮助..

我在 c# .Net 4.0 站点代码的各个区域中使用 Newtonsoft.Json 没有问题,并希望使用 Newtonsoft 的反序列化器找到解决我的问题的方法。我错过了什么?