Just deserialise the json to objects, select the data from want from those objects then re-serialise.
[DataContract]
public class Data
{
[DataMember(Name = "name")]
public string Name { get; set; }
[DataMember]
public string Custnumber { get; set; }
}
string json = "[{\"name\":\"First\", \"Custnumber\":\"123SC\" }, { \"name\":\"Second\", \"Custnumber\":\"67BC\" }, { \"name\":\"Third\", \"Custnumber\":\"99ABC\" }, { \"name\":\"Fourth\", \"Custnumber\":\"123SC\" }]";
List<Data> data = null;
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json));
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<Data>));
data = ser.ReadObject(ms) as List<Data>;
ms.Close();
data = data.Where(d => d.Custnumber == "123SC").ToList();
ms = new MemoryStream();
ser.WriteObject(ms, data);
ms.Position = 0;
json = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
you'll need these usings for that JSON serialiser, but as I said use whatever you normally use.
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;