var str = Project.Variables["ВходнаяСтрока"].Value;
var userId = Regex.Match(str,"(?<=\"userId\":\").+?(?=\")").Value;
var mes = Regex.Match(str,"(?<=\"mes\":\").+?(?=\")").Value;
var age = Regex.Match(str,"(?<=\"age\":\").+?(?=\")").Value;
string json_str = "{\"anketa\":{\"userId\":\"id69033337\",\"mes\":\"1\",\"age\":\"20\"},\"anketa1\":\"test\"}";
var json_serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
Dictionary<string,object> dict = json_serializer.Deserialize<Dictionary<string,object>>(json_str);
Dictionary<string,object> d1 = (Dictionary<string,object>)dict["anketa"];
var userid = d1["userId"];
var mes = d1["mes"];
var age = d1["age"];
Это уже конечно намного лучше , спасибо.Можно через JavaScriptSerializer
project.Variables["mes"].Value = d1["mes"].ToString();
а можно еще вопрос ?
хочу все данные из json разложить в переменные ZP
как бы так сделать чтобы в project.Variables["mes"].Value имя переменной (mes) бралось из ключа json ??Код:project.Variables["mes"].Value = d1["mes"].ToString();
foreach( string s in d1.Keys )
{
project.Variables[s].Value = d1[s];
}
string jsdata = instance.ActiveTab.MainDocument.EvaluateScript("var data = '';var cls = linkone.jsviewer.metadata[0].Callouts;for (var i= 0; i < cls.length; i++){data += cls[i].DisplayItemId+','+Math.round(cls[i].Position.X)+','+Math.round(cls[i].Position.Y)+';';} return data;");
{"account_login":"79647106765","account_password":"tkKHOXLsq","proxy":"192.71.25.245:8888"}
string json_str = project.Variables["tableParse"].Value;
var json_serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
Dictionary<string,object> dict = json_serializer.Deserialize<Dictionary<string,object>>(json_str);
foreach( string s in dict.Keys ){
project.Variables[s].Value = (string)dict[s];
}
return 1;
{"post":"превед я обычная переменная без кавычек и распарсилась бы норм если б не cryMore-сосед ","cryMore":"превед, я захотел вставить "Заголовок" и кучу "спец.символов" ^%$#@(_)!"}
чтоб 256 + текст1 и далее с новой строки 257 + текст2 и т.д.{"mes":[{"id":256},{"text":"текст1"},{"id":257},{"text":"текст2"},{"id":258},{"text":"текст3"},]}
вот так вроде лучше{"mes":[{"id":"256","text":"текст1"},{"id":"257","text":"текст2"}]}
string json = project.Variables["json"].Value;
var table = project.Tables["table"];
List<string> id_list = System.Text.RegularExpressions.Regex.Matches(json, "(?<=id\":\").*?(?=\")").Cast<System.Text.RegularExpressions.Match>().Select(v=>v.Value).ToList<string>();
List<string> text_list = System.Text.RegularExpressions.Regex.Matches(json, "(?<=text\":\").*?(?=\")").Cast<System.Text.RegularExpressions.Match>().Select(v=>v.Value).ToList<string>();
lock(SyncObjects.TableSyncer){
for(int i=0; i<id_list.Count; i++)
table.AddRow(new List<string> {id_list[i], text_list[i]});
}
string json = project.Variables["json"].Value;
var table = project.Tables["table"];
var json_serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
Dictionary<string,object> mes = json_serializer.Deserialize<Dictionary<string,object>>(json);
var list = (System.Collections.ArrayList)mes["mes"];
lock(SyncObjects.TableSyncer){
foreach (var item in list){
string id = (string)((Dictionary<string, object>)(item))["id"];
string text = (string)((Dictionary<string, object>)(item))["text"];
table.AddRow(new List<string> {id, text});
}
}
что то я совсем запутался ({"mes":{"id":["11111111","2222222222222","333333333"],"text":["текст1","текст2","текст3"]},"mes2":"000"}
[{
"_id": "57664ce92b7f045521c8be6f",
"lang": "ru",
"__v": 0,
"status": 1,
"timeZone": "{\"utc\":[\"Europe/Moscow\",\"Europe/Samara\",\"Europe/Simferopol\",\"Europe/Volgograd\"],\"text\":\"(UTC+04:00)Moscow,St.Petersburg,Volgograd\",\"isdst\":false,\"offset\":4,\"abbr\":\"RST\",\"value\":\"RussianStandardTime\"}",
"dateCreate": "2016-06-19T07:42:33.323Z",
"body": "<span style=\"line-height: 20px;\">Доброго дня main, в вашей структуре появился новый партнер: bot.</span>\n\t\t\t\t\t\t\t\t\t\t",
"messenger": "Viber",
"username": "main",
"fio": "main main",
"phone": "+380995098098"
}, {
"_id": "57695ccfbf19ead7727da258",
"lang": "ru",
"__v": 0,
"status": 0,
"timeZone": "{\"utc\":[\"Europe/Moscow\",\"Europe/Samara\",\"Europe/Simferopol\",\"Europe/Volgograd\"],\"text\":\"(UTC+04:00)Moscow,St.Petersburg,Volgograd\",\"isdst\":false,\"offset\":4,\"abbr\":\"RST\",\"value\":\"RussianStandardTime\"}",
"dateCreate": "2016-06-21T15:27:11.609Z",
"body": "<p>Здравствуйте main, к Вашей структуре зарегистрировались [summa_new_users] человек.</p>\n\n<p>Поздравляю Вас!</p>",
"messenger": "Viber",
"username": "main",
"fio": "main main",
"phone": "+380995098098"
}]
var json = project.Variables["MessageQueue"].Value;
var jsonser = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<string,object>> data = jsonser.Deserialize<Dictionary<string,object>>(json);