将字符串反序列化为双倍[重复]
Posted
技术标签:
【中文标题】将字符串反序列化为双倍[重复]【英文标题】:Deserialize string to double [duplicate] 【发布时间】:2019-12-06 04:53:53 【问题描述】:我有这个 JSON:
"price": "0.002200"
我想将 price
反序列化为双精度,但它是一个字符串。
我该怎么办?
【问题讨论】:
你试过了吗?反序列化为public double price get; set;
属性已经可以正常工作,请参阅 dotnetfiddle.net/7bUCVL
【参考方案1】:
一种选择是创建代表 JSON 的类并反序列化为该类:
class Program
static void Main(string[] args)
var json = " \"price\": \"0.002200\" ";
var data = JsonConvert.DeserializeObject<Data>(json);
Console.WriteLine(data.Price);
class Data
public double Price get; set;
【讨论】:
【参考方案2】:您只需创建一个类来映射 JSON:
public class RootObject
public double price get; set;
然后用JsonConvert.DeserializeObject
反序列化:
JsonConvert.DeserializeObject<RootObject>(json)
完整计划:
using Newtonsoft.Json;
public class RootObject
public double price get; set;
public class Program
public static void Main()
var json = @"""price"": ""0.002200""";
var root = JsonConvert.DeserializeObject<RootObject>(json);
Console.WriteLine(root.price);
// 0.0022
注意:这假设您已安装 Newtonsoft.Json NuGet 包。
【讨论】:
以上是关于将字符串反序列化为双倍[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 Jackson 和 Spring 将 JavaScript 数组反序列化为 Java LinkedHashSet 不会删除重复项