当使用JSON.NET序列化对象时,将Int转换为字符串 [英] Convert Int to String while serialize object using JSON.NET

查看:1383
本文介绍了当使用JSON.NET序列化对象时,将Int转换为字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图使用JObject(NewtonSoft.dll)将DataTable转换为JSON字符串。在我的情况下,表可能具有不同数据类型的值。我想把这些值转换为字符串,同时序列化对象。

I tried to convert DataTable to JSON string using JObject (NewtonSoft.dll). In my case table may have values with different data types. I want to convert those values to string while serialize the object.

        DataTable tab = new DataTable();
        tab.Columns.Add("ID", typeof(int));
        tab.Columns.Add("Name");

        tab.Rows.Add(1, "Role1");
        tab.Rows.Add(2, "Role2");

        string strValues = JsonConvert.SerializeObject(tab);
        --output of strValues 
        -- [{"ID":1,"Name":"Role1"},{"ID":2,"Name":"Role2"}]

但它应该是这样 -

But it should be like this -


[{ID:1,Name:Role1},{ID:2,Name:Role2}]

[{"ID":"1","Name":"Role1"},{"ID":"2","Name":"Role2"}]

请给我解决方案。感谢

推荐答案

您可以使用第三方.dll,例如Newtonsoft.Json

You can use the third party .dll like Newtonsoft.Json

 DataTable tab = new DataTable();
 tab.Columns.Add("ID", typeof(int));
 tab.Columns.Add("Name");

 tab.Rows.Add(1, "Role1");
 tab.Rows.Add(2, "Role2");

 // Serialize to JSON string
 TextWriter output = new TextWriter();
 JsonTextWriter writer = new JsonTextWriter(output);
 writer.Formatting = JsonFormatting;
 JsonSerializer serializer = JsonSerializer.Create(JsonSerializerSettings);
 serializer.Serialize(writer, tab);
 writer.Flush();

这篇关于当使用JSON.NET序列化对象时,将Int转换为字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆