字符串使用Newtonsoft转换为逗号分隔的数组



我有一个输入字符串像

[{"brand_id":"112"},{"brand_id":"114"},{"brand_id":"14"}]

,我想用Newtonsoft把字符串转换成这样的格式。

[112,114,14]

将输入字符串解析为JArray,然后使用.Select()获取特定键的值(在您的情况下是brand_id)

using System.Linq;
using Newtonsoft.Json.Linq;
...
//Input string 
string json = @"[{'brand_id':'112'},{'brand_id':'114'},{'brand_id':'14'}]"; 
//Convert input string to JArray
JArray jArray = JArray.Parse(json);
//Select only specific field
var brandIds = jArray.Select(x => x["brand_id"]);

Try online: c# fiddle


如果您已经为输入字符串定义了模型,那么您可以使用DeserializeObject()方法,该方法由@YongShun

解释

您可以实现DeserializeObjectList<Brand>。并且使用.Select()只能得到brand_id

using Newtonsoft.Json;
using System.Collections.Generic;
using System.Linq;
string json = "[{"brand_id":"112"},{"brand_id":"114"},{"brand_id":"14"}]";
List<Brand> brands = JsonConvert.DeserializeObject<List<Brand>>(json);
List<string> brandIDs = brands.Select(x => x.Brand_Id).ToList();
public class Brand
{
[JsonProperty("brand_id")]
public string Brand_Id {get;set;}   
}

示例程序

相关内容

  • 没有找到相关文章

最新更新