首页 > 解决方案 > 如何在c#中将带分隔符的字符串转换为json字符串

问题描述

我有一个字符串

string myString = "KTC|2020|MPD|18/01/2021|I|O|B|ALST|";

我需要转换为以下格式。

string convertedJsonString="{"compCode":"KTC","accountYear":"2020","shipmentNumber":"MPD","shipmentDate":"18/01/2021","shipmentType":"I","shipmentCategory":"M","fromLevelCode":"B","fromLocationCode":"ALST"}";

当我尝试编写如下代码时,

string[] inputArray = input.Split("|");
string jsonString = @"{"+ " compCode "+ ":" + inputArray[0];
jsonString += "," + "accountYear" + ":" + inputArray[1] + "}";

我得到如下字符串

{ compCode :KTC,accountYear:2020} 格式不符合要求。

你能给我一些关于我们如何实现这一目标的想法吗?

标签: c#json

解决方案


尝试生成一个匿名类,然后将其序列化:

var json = new { 
compCode = inputArray[0],
accountYear = inputArray[1],
shipmentNumber = inputArray[2],
shipmentDate=inputArray[3],
shipmentType = inputArray[4],
shipmentCategory=inputArray[5],
fromLevelCode=inputArray[6],
fromLocationCode=inputArray[7]
}

string jsonString = JsonConvert.SerializeObject(json);

推荐阅读