首页 > 解决方案 > 如何将 JSON 格式的纯文本转换为简单的纯文本

问题描述

我有一个纯文本字符串,其中包含 JSON 格式的括号,因为它是使用 JavaScriptSerializer().Serialize() 方法创建的。我需要删除括号和冒号,并希望将其转换为 key = value、key = value 格式。需要转换

{
     "account":"rf750",
     "type":null,
     "amount":"31",
     "auth_type":"5",
     "balance":"2.95",
     "card":"re0724"
} 

'account=rf750,type=null,amount=31,authe=5,balanc=2.95,card=re0724'

标签: c#json

解决方案


好吧,这里发生了三种不同的事情。

第一个也是表面问题是:如何更改字符串?

很简单——你做一些字符串替换,最好使用正则表达式。删除开始/结束大括号,将 [a]:"[b]" 更改为 [a]=[b],或者您希望最终格式看起来像这样。

第二个更深层次的问题是:JSON 不仅仅是一个简单的键=值列表。 你可以有嵌套。你可以有非字符串数据。简单地说您想将 JSON 结果更改为 key=value,key=value,key=value 等 - 很脆弱。你怎么知道 JSON 结构会是你所期望的?即使您有嵌套结构、非字符串/整数数据等,JSON 序列化也会成功序列化。如果您想要不易损坏的可靠代码,您必须弄清楚:我该如何处理? 我能处理这个吗?

第三,也是最后一件事是:您正在采用标准数据格式模式并弄清楚如何将其转换为非标准数据格式。 90%的人这样做,他们应该被枪杀。说真的,花一些时间问问自己是否可以按原样使用 JSON 以及是否可以将需要 key=value、key=value 等的过程更改为使用实际的标准化数据格式。


推荐阅读