Я пытаюсь разобрать строку JSON в решении C#, но не могу получить внутренние / вложенные массивы, которые начинаются с: ",[["bd felek",0],["bdm",0],["bd",0],["bdz",
["bd",[["bd felek",0],["bdm",0],["bd",0],["bdz",0,[131]],["bd fleke",0],["bd felek dfdf",0],["bdz dance practice",0,[3]],["bdz twice live",0,[131]],["bdo",0,[131]],["bd mawlaya",0]],{"a":"Uwt304b6at0ZtuU8mv8D5AyWS8wg6AQJQbYlPPS8knOVvcG","e":"1","j":"6l","k":1,"q":"ZQXxB0vG-GaPEF2RNib3gbVRXt0"}]
var jsonser = new JavaScriptSerializer();
var obj = jsonser.Deserialize<dynamic>(SourceCodeTxt.Text);
foreach (var x in obj)
{
// MessageBox.Show(x);
String strvalue = x["value"];
}
}
Как сказал @RonBeyer, используйте Json.NET. Документы для JavaScriptSerializer
даже говорит вам использовать Json.NET
Ваш код должен смотреть на второй индекс (1) десериализованного объекта:
foreach (var x in obj[1])
{
var value1 = x[0]; // bd felek
var value2 = x[1]; // 0
}
Вы хотите использовать JSON.NET для лучшей обработки JSON. тогда вы можете просто сделать следующее:
using Newtonsoft.Json.Linq;
...
JToken obj = JToken.Parse(/* Your JSON string goes in here */);
foreach (var x in obj[1])
{
var value1 = x[0]; // bd felek
var value2 = x[1]; // 0
...
}
Вы должны использовать JSON.NET, а не
JavaScriptSerializer
.