Расщепление строки в c # - PullRequest
1 голос
/ 28 июня 2011

У меня есть string сообщение для моего действия MVC, которое выглядит следующим образом:

[{"property":"radius","value":"twentyfive"},{"property":"latlng","value":"40.036218,-75.51381100000003"}]

Мне нужно значение радиуса twentyfive в этом случае, но может быть что угодно, а также каждыйчисло широты и долготы, поэтому они будут 40.036218 и -75.51381100000003 здесь.

так что-то вроде:

string filter = "[{\"property\":\"radius\",\"value\":\"twentyfive\"},{\"property\":\"latlng\",\"value\":\"40.036218,-75.51381100000003\"}]";
string radius = //whatever i need to do;
double lat = //whatever i need to do;
double lng = //whatever i need to do;

Спасибо!

1 Ответ

4 голосов
/ 28 июня 2011

Вы можете создать класс, подобный этому

public class PropertyValue
{
    public string property {get; set;}
    public string value  {get; set;}
}

и используйте JavaScriptSerializer

string inputString = @"[{""property"":""radius"",""value"":""twentyfive""},{""property"":""latlng"",""value"":""40.036218,-75.51381100000003""}]";
IList<PropertyValue> propertyValueList = new JavaScriptSerializer()
        .Deserialize<IList<PropertyValue>>(inputString);
Console.WriteLine(propertyValueList.Single(p  => p.property == "radius").value);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...