我想使用空格分隔的字符串拆分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
答案 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();
答案 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())
};
}