使用 Newtonsoft 将字符串转换为逗号分隔的数组
String to comma separated array using 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"]);
如果您已经为输入字符串定义了模型,那么您可以使用DeserializeObject()
方法,该方法由@YongShun
解释
你可以用DeserializeObject
到List<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;}
}
我有一个输入字符串
[{"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"]);
如果您已经为输入字符串定义了模型,那么您可以使用DeserializeObject()
方法,该方法由@YongShun
你可以用DeserializeObject
到List<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;}
}