JObject将char转换为int

时间:2018-07-30 09:01:37

标签: c# json.net

以下代码

var x = new JObject {
  ["property1"] = 'a',
  ["property2"] = "A",
  ["property3"] = -1,
  ["property4"] = 9.9,
};

当检查x时,它将返回以下值:

97, 一种, -1, 9.9

如何阻止JSON.Net将char值转换为整数?

更新 我已经在调试器中检查了代码,并在LinqPad中运行了代码,然后转储了结果。

当我尝试编写代码以验证通过API进行的某些输入时出现了问题,我应该会成对或成对出现,但由于该API的帖子可能不在我的讨论范围内控制,我需要正确验证它。那是当我通过char时发现行为异常的时候。

1 个答案:

答案 0 :(得分:0)

看来,我正在尝试解决一个问题,除了在我自己的单元测试的上下文中,因为char被序列化时,它已序列化为单个字符的字符串。

手动构建JObject的行为使我看到的问题显而易见,这是因为,据我所知,JSON没有类型char的概念,因此,至少在C#中,将char分配给JObject会使该值另存为其的int表示形式。