open System.Collections.Generic
{""red"": 100, ""green"": 100, ""blue"": 100, ""alpha"": 1.0 },
{""red"": 100, ""green"": 100, ""blue"": 100, ""alpha"": 0.5 },
let getSolidColors jsonString =
if (item:JsonValue).["alpha"].AsDecimal() < 1m
then Some( {R=item.["red"].AsInteger(); G=item.["green"].AsInteger(); B=item.["blue"].AsInteger()} )
JsonValue.Parse(jsonString).AsArray()
|> Array.filter (fun x -> x.IsSome)
|> Array.map (fun x -> x.Value)
printf "%A" getSolidColors