如何将json分成空格分隔的字符串?

时间:2019-04-22 10:35:29

标签: c#

我想使用空格分隔的字符串拆分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"
    },

我希望结果是这样的:

OptionCode:996 99T 44P 44W

3 个答案:

答案 0 :(得分: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();

也可以看看:looping through json array in c#

答案 1 :(得分:2)

您可以这样实现:

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

一旦使用空间定界符进行拆分,就可以按需要使用它。

Refer了解更多详情。

答案 2 :(得分:-1)

您可以在集合中执行string.Join。 尝试如下更新代码。

var optionCodes = res.factoryOption?.Select(c => c.oemCode);

if (optionCodes != null) 
{   
    vehicle.OptionCodes = new DecodedOptionCodesModel {
        OptionCode = string.Join(" ", optionCodes.ToList())
    };
}