问题标签 [jsonconvert]

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 投票
1 回答
441 浏览

json - 如何使用 Newtonsoft.Json.JsonConvert.SerializeObject 序列化类以将空列表更改为空变量

如何序列化一个类with Newtonsoft.Json.JsonConvert.SerializeObject 以将空列表更改为空变量

我的序列化结果

并想得到

我的简单课

0 投票
1 回答
113 浏览

c# - JsonConvert 无法反序列化对象的一部分

尝试反序列化 json 对象时出现以下异常:

JsonSerializationException:转换值“[{“ID”:“1111”,“FirstName”:“。”,“LastName”:“test”,“AdditionalName”:“”,“ID_PassportNum”:“NONE”,“DateOfBirth”时出错:""}] 输入 'System.Collections.Generic.List`1[MoblieCP.Models.UserInfo]'。路径 'Data',第 1 行,位置 1303

我从服务器收到以下格式的响应:

数据部分始终是一个列表,即使它有一个项目。

我构建了一个包含服务器响应的通用类:

这是我试图反序列化的部分:

每次 JsonConverter 返回该异常。

当我尝试将“数据”本身(不是作为 GenericResponse 对象的一部分)反序列化为List<UserInfo>时,我成功了。但我不想每次都进行 2 次反序列化。

0 投票
2 回答
167 浏览

angular - Angular patchValue 不适用于 JsonConverter

我有一个带有选择控件的角度形式,它从服务器上的枚举接收它的值。

我在这里创建了一个示例,其中响应硬编码在类型变量中:stackblitz

我现在正在尝试使用 form patchValue 方法填充表单(请参阅 setValues 按钮和方法)。

在现实生活中,此响应来自服务器。

来自服务器的模型如下:

到目前为止,这有效。

如果我更改服务器上的模型以包含 Json StringEnumConverter 属性:

patchValue 方法现在是这样的(参见 setValues2 按钮和方法):

但是我的值不再加载到选择控件中。

我怎样才能解决这个问题?

我开始创建一个指令,但我不知道如何拦截绑定以将值更改为等效的枚举键。

请帮忙

0 投票
2 回答
488 浏览

c# - C# JsonConvert.DeserializeObject返回一个空对象

我希望你能帮助我。我正在尝试将响应对象反序列化为 C# 中的动态对象。代码如下:

上面的响应动态对象具有以下值:

在第一次 foreach 交互中,backgroundTaskURL 动态对象读取:

出于某种原因,我无法理解,backgroundTaskURL 动态对象没有解析“href”属性。

请指教!谢谢!

0 投票
2 回答
1221 浏览

c# - 如何在将 json 字符串转换为 XML 文档时防止“日期和时间”转换

我想将 JSON 响应转换为等效的 XML 文档,但在这样做的同时,我还想保留当前日期和时间格式以及偏移量,例如 JSON 中的 DateTime 为“2019-10-25T07:00:00-05: 00" 并且在转换后我希望它保持不变。但是转换成 XML 后,DateTime 值变成了“2019-10-25T08:00:00-04:00”

我试图在 Microsoft 文档中搜索它,但我没有找到以下问题的答案:

  1. 如何确定给定日期时间字符串的时区(例如,“2019-10-25T07:00:00-05:00”)?
  2. 如何将日期时间字符串(例如,“2019-10-25T08:00:00-04:00”)转换为所需时区的日期时间(例如,转换为“2019-10- 25T07:00:00-05:00")

输入 JSON 字符串:

预期的:

实际的:

0 投票
1 回答
73 浏览

c# - 在服务器端获取 JSON 字符串作为对象并反序列化

我在控制器上有一个方法,它需要一个对象,并且我需要根据我在 DI 中创建服务的方式来进行不同的反序列化。方法是bool SetSnmpRequest(Object obj);

然后在控制器中

这是从客户端传递过来的 JSON{"Name":"Power" ,"Value":"MED","ChannelIndex":"1"}

我试图反序列化的对象

去理想化SetRequestModel details = JsonConvert.DeserializeObject<SetRequestModel>((string)obj);

问题在于 JsonConvert.DeserializeObject 需要一个字符串,并且在将对象转换为字符串时出现异常

0 投票
1 回答
252 浏览

c# - 从文件保存和加载字典

我正在尝试将字典保存到 afile并将其内容加载到字典对象。我正在使用以下代码将字典附加到文件中

但是在加载时我不断收到以下错误。

每次保存后我需要添加一个新行吗?

0 投票
0 回答
51 浏览

php - 在 PHP 中使用带有 json_decode 的数字字符串键

我有一个 JSON 字符串,其中包含仅由数字组成的字符串键,如下所示:

当我使用 将其转换为关联数组json_decode时,PHP 将键解释为整数并返回:

我可以告诉json_encode它把它变成一个对象,这会产生一个带有“字符串”属性名称的对象"1"-"3"但我需要在它上面执行一些数组函数,所以我真的需要它是一个关联数组。

有没有办法实现这一目标?

我发现的唯一“解决方案”是在 JSON 键前面加上不是数字的东西,如下所示:

但是如果有一种方法可以告诉 PHP 将键保存为字符串,那就太好了,因为它们实际上在 JSON 中被引用为字符串。

0 投票
2 回答
1248 浏览

c# - 使用 Newtonsoft 反序列化未命名数组的 JSON 数组

我正在尝试反序列化一个 JSON 对象,该对象具有一组未命名的数组并且遇到了一些问题。我正在运行测试的代码:

和感兴趣的类别:

运行代码并尝试使用 Newtonsoft 反序列化我得到以下异常:

将 [JsonArray] 添加到 Triangle 类会导致以下异常:

我错过了什么?

编辑:我显然忘记提到的一件重要的事情是,出于语义原因,我想将其反序列化为帖子中列出的类。也就是说,尽管将 Triangles 反序列化为List<List<int>>int[][]会起作用,但我非常希望不这样做。

0 投票
1 回答
591 浏览

c# - JSON序列化和反序列化与列表不工作

我的开发存在以下问题:

我想在我的 iPhone 上序列化并保存一个字符串列表(System.List)。该列表包含正在运行的应用程序发生的错误消息。然后我想加载它并反序列化它以将列表保存在我的应用程序中。以下代码会发生这种情况(代码缩短,不必要的部分被切断):

然后我得到了例外 "Error converting value "one" to type 'System.Collections.Generic.List`1[System.String]'."

iOS 系统上的输出位于 .txt 文件中:

["One","Two"]

有什么问题?