В вашей строке json есть некоторые ошибки. Вы смешиваете выражения со строковыми значениями. Вы должны избегать "
с \
, если вы пытаетесь построить строку.
var return_value =
"{\"user\":\"76561198005159244\",\"items\":[\"41750778\",\"25316150\"]}... etc";
Сказав это, способ проверить, если ваш сериализации и десериализации работы, чтобы проверить это наоборот. Поскольку вы используете сильные типизированные объекты, проще генерировать действительный json из сериализатора.
Попробуйте это:
public class Users {
//arrays are more supported
public SteamUser[] data { get; set; }
}
public class SteamUser {
public string id { get; set; }
public string[] weapons { get; set; }
}
class Program
{
static void Main(string[] args)
{
var testObject = new Users() {
data = new SteamUser[] {
new SteamUser() {
id = "100",
weapons = new []{ "paper", "rock", "spock"}
}
}
};
//i am not familiar enough with the JavaScriptSerializer
//but this should result in a proper json string
var validstring= new JavaScriptSerializer().Serialize(testObject);
//since you now have a valid string (Console.WriteLine(validstring);)
//deserialization should always work
Users steamUsers = new JavaScriptSerializer().Deserialize<Users>(validstring);
}
}
Теперь вы будете иметь действительный ввод для десериализации, который вы можете использовать в качестве примера.
Ваш код не компилируется и обычно не похож на C#. Что вы делали до сих пор? –
Я просто хочу, чтобы он разбирался в массив, такой как мой ПРИМЕР! никогда не говорил, что мой код работает! но я думаю, что каждый хороший кодер способен понять, что я имею в виду ...? – Herlex
Когда вы публикуете вопрос о SO, он должен отражать ваши усилия и где вы в настоящее время терпите неудачу. Мы не генераторы кода. –