如何将JSON拆分为以空格分隔的字符串?

4
我可以担任翻译工作。以下是您需要翻译的内容:
我想通过使用空格分隔的字符串来拆分我的jsonData结果,但我不知道该如何做。
这是我存储OptionCode jsonData的代码:
 if (mappedResult.OptionCodes != null)
  {
     AddJsonVehicleOptionEquip("OptionCodes", JsonConvert.SerializeObject(mappedResult.OptionCodes));
  }

以下是我的 OptionCodes ViewModel:

 public class DecodedOptionCodesModel
    {
        public string OptionCode { get; set; }
    }

这是我在获取第三方ChromeDataHandler的OptionCode时编写的代码:
 vehicle.OptionCodes = res.factoryOption?.Select(c => new DecodedOptionCodesModel
            {
                OptionCode = c.oemCode
            });

上述代码的结果是:
[
    {
        "OptionCode": "996"
    },
    {
        "OptionCode": "99T"
    },
    {
        "OptionCode": "44P"
    },
    {
        "OptionCode": "44W"
    },
    {
        "OptionCode": "610A"
    },
    {
        "OptionCode": "613A"
    },
    {
        "OptionCode": "618A"
    },
    {
        "OptionCode": "710A"
    },

我希望结果是这样的:

选项代码:996 99T 44P 44W


3
使用一个JSON解析器来处理。如果自己处理这个过程,很快就会变成一场噩梦。 - MakePeaceGreatAgain
2个回答

2
使用 Json.Net
dynamic jsonObj = JsonConvert.DeserializeObject(c.oemCode);

foreach (var obj in jsonObj.objectList)
{
   if(obj.OptionCode.ToString().Trim().Length ==0) continue;
   OptionCode += " " + obj.OptionCode;
}
OptionCode = OptionCode.Trim();

还可以看看:在C#中循环遍历JSON数组

但是如何检查并且不包括如果Optioncodes为空,因为当我检查结果时,它会在Optioncodes上留下空格值。 - venalyn sudaria

2
你可以这样实现:

您可以像这样实现:

Console.WriteLine(String.Join(" ", vehicle.OptionCodes));

一旦你使用空格分隔符进行拆分,你就可以按照自己的方式使用它。

点击此处了解更多细节。

注:Original Answer翻译成"最初的回答"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接