首页 新闻 会员 周边

Newtonsoft.Json 序列化时要求输出值都默认带双引号

0
悬赏园豆:15 [已解决问题] 解决于 2018-01-18 18:33

Newtonsoft.Json 序列化时要求输出值都默认带双引号

比如之前我这边做序列化操作的时候int和bool这类数值输出的时候格式为

{

  "bool":true,

  "int":64

}

现在和ios的app对接,那边的技术说json处理比较麻烦,可能必须要用正则匹配自己一点点处理要求输出式为

{

  "bool":"true",

  "int":"64"

}

既不管什么类型的数据值都是要求双引号包裹。

Newtonsoft.Json用的不太熟悉,有了解如何设置可以做到这个效果?

lpyedge的主页 lpyedge | 菜鸟二级 | 园豆:330
提问于:2017-11-01 17:21
< >
分享
最佳答案
0

把你用到的基本类型(int,bool,float ,etc.)都实现这个类JsonConverter,WriteJson 构造字符串写进去

然后调用这个方法的时候,把你的convert传进去

public static string SerializeObject(object value, params JsonConverter[] converters);

没有测试,基本思路应该是这样没错

收获园豆:5
hahanonym | 小虾三级 |园豆:1460 | 2017-11-01 18:17
其他回答(3)
0

简单点把字段全部转成字符串。话说你们ios的开发够差的啊

收获园豆:10
Daniel Cai | 园豆:10424 (专家六级) | 2017-11-01 17:27

接口太多。而且实体类和数据库时对应的。

再弄一套实体类或者重新创建匿名对象需要改动的地方太多了。。。

所以想从序列化的方法这里入手。

支持(0) 反对(0) lpyedge | 园豆:330 (菜鸟二级) | 2017-11-01 17:32

@lpyedge: 我记得newtonsoft这个里面好像可以自己插入自己定义的序列化器(JsonConverter),可以自定义序列化过程。

对象数量少的话好像JSON的attribute就可以搞定。

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2017-11-01 18:17
0

先去百度下C#遍历json,然后把每个key 对应的value加上双引号,遇到转换有问题的数据类型,用转义字符\

~扎克伯格 | 园豆:1923 (小虾三级) | 2017-11-01 17:56
0

重载一下类型输出就行了。

花飘水流兮 | 园豆:13560 (专家六级) | 2017-11-03 09:10

自己去查setting

支持(0) 反对(0) 花飘水流兮 | 园豆:13560 (专家六级) | 2017-11-03 09:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册