gpt4 book ai didi

c# - 格式 FLOAT/DOUBLE 问题的 LitJSON 库

转载 作者:行者123 更新时间:2023-11-30 13:37:39 24 4
gpt4 key购买 nike

由于 JSON 是一种可以写成字符串的格式,因此它必须由库解释,或者有时由语言本身解释。

在旧版本的 C# 中,没有类似的东西。使用库 LitJSON 我有以下问题我有一个名为 Vector3 的类包含 3 个浮点值(不是 double 值)。

public class Vector3 {
public float x{get;set;}
public float y{get;set;}
public float z{get;set;}
}

使用以下带有 LitJSON 的代码片段,它实际上应该用值填充 Vector3 的实例。

Vector3 test = JsonMapper.ToObject<Vector3>("{'x':1.0,'y':1.0,'z':1.0}");

但出现错误“无法将值(类型 Single.Double)分配给 System.Single”

它似乎只知道 double 而不知道 float :/

有什么解决办法吗?

最佳答案

遇到了同样的问题,终于找到解决办法了。在您的“ToObject”/“ToJson”之前添加这些代码行

JsonMapper.RegisterExporter<float>((obj, writer) => writer.Write(Convert.ToDouble(obj)));
JsonMapper.RegisterImporter<double, float>(input => Convert.ToSingle(input));

关于c# - 格式 FLOAT/DOUBLE 问题的 LitJSON 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21742126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com