C # / Json.net / как я могу десериализовать сообщение? - PullRequest
0 голосов
/ 04 мая 2011

пожалуйста, помогите мне, что мне нужно делать дальше? мне нужно, чтобы это сообщение было внутри их выделенных строк но я понятия не имею, как это сделать

также как насчет использования словаря?

сообщение, которое я получаю, это .. внутри строки sServerResponse

{"pcname": "Kat", "pause": [], "ip": "192.168.1.100", "paused": 0, "services": [], "session": "", "shop": [], "end": 0, "used": 0, "start": 0, "timeup": 0, "follow": "sui", "consq": {"1": "basic", "3": "rounding", "2": "minimum"}, "stas": 0, "price": 0, "pc_status": 1, "account_details": {"3": "Member", "2": "Staff/Member", "4": "Timecode"}, "msg": "Connection/Update accepted.", "mac": "00112233445", "others": [], "remarks": "", "ticker": {"units": 1}, "fixed_time": [], "account": "", "pause_tmp": {"s": 0, "e": 0}, "ver": {}, "status_details": {"1": "Idle", "0": "Offline", "5": "Fixed", "4": "Open", "7": "Mem", "6": "Extended", "8": "Timecode"}, "cmd": "nothing", "load": 0, "deposit": [], "data": {"fixed": [], "open": 0}, "restirctions": {"start_button": 0, "keys": [{"ctrl-esc": 0}, {"alt-tab": 0}], "mouse": 1, "drives": [{"c": 0}, {"d": 0}], "desktop": 0, "task_manager": 0, "keyboard": 1, "taskbar": 0, "control_panel": 0}}

, пожалуйста, ведите меня ... бесчисленные гуглы, которые я сделал, и темы, которые я прочитал образец на json.net даже не работал

EDIT / UPDATE:

Я сейчас пробую это

List<WrapperReader> datas;

 datas = new JavaScriptSerializer(new SimpleTypeResolver()).Deserialize<List<WrapperReader>>(jsonInput);

}

но данные пустые, в чем здесь проблема?

ОБНОВЛЕНИЕ 2

я вроде как придумаю

это класс.

если я собираюсь получить массив строк. тогда внутри моего класса я должен объявить его как массив то же самое относится к десятичным числам и датам

о датах .. если я собираюсь получить дату. как мне объявить это, чтобы оно могло содержать дату?

Я собираюсь закончить кодирование, чтобы увидеть, действительно ли это виновник

1 Ответ

0 голосов
/ 04 мая 2011

Привет
Я написал простой пример для вас. Вы можете использовать без библиотеки Json.NET.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Script.Serialization;

namespace ConsoleApplication1
{
public class Customer
{
    public int CustomerID { get; set; }
    public string CustomerName { get; set; }
    public string CustomerSurname { get; set; }

    public override string ToString()
    {
        return this.CustomerID + " " + this.CustomerName + " " + this.CustomerSurname;
    }
}

 class Program
 {
    static void Main(string[] args)
    {
        string JSonData = @"[
        {
             ""CustomerID"": ""1"",
             ""CustomerName"": ""Mehmet"",
             ""CustomerSurname"": ""Tasköprü""
        },
        {
             ""CustomerID"": ""2"",
             ""CustomerName"": ""Cin"",
             ""CustomerSurname"": ""Ali""
        },
        {
             ""CustomerID"": ""3"",
             ""CustomerName"": ""Temel"",
             ""CustomerSurname"": ""Reis""
        }]";

        IList<Customer> iListData = new JavaScriptSerializer().Deserialize<IList<Customer>>(JSonData);

        foreach (var item in iListData)
            Console.WriteLine(item.ToString());

        Console.Read();
    }
}

}

...