создать строку JSON на стороне клиента - PullRequest
1 голос
/ 18 декабря 2009

Я пытаюсь создать строку / объект JSON, эквивалентную следующим данным на стороне сервера.может кто-нибудь помочь?

Public Shared Function GetData() As List(Of Employee)
    Dim list As New List(Of Employee)()

    Dim newEmployee As New Employee()

    newEmployee.EmployeeID = "1"
    newEmployee.FirstName = "Sridhar"
    newEmployee.Title = "Programmer"
    newEmployee.BirthDate = "8/10/1979"
    newEmployee.TitleOfCourtesy = "Programmer"
    list.Add(newEmployee)
    Return list
 End Function

Сотрудник - это класс со свойствами EmployeeId, FirstName, Title, DateDate, TitleOfCourtesy.

Спасибо, sridhar.

Ответы [ 4 ]

2 голосов
/ 19 декабря 2009

Имейте в виду, что в Javascript нет понятия класса, только объекты. Это также переносится в JSON. Посмотрите на это:

{"Employee" : 
     {
        "EmployeeID":"1",
        "FirstName":"Sridhar",
        etc...
     }
 }

Если вы посмотрите на первую строку, символ «Сотрудник» абсолютно ничего не делает для JSON. Помните, что мы имеем дело только с объектами.

Вот почему это работает, как вы сказали.

[
{"EmployeeID":1,
"LastName":"Duggireddy",
"FirstName":"Sridhar",
"Title":"Programmer",
"TitleOfCourtesy":"Programmer",
"BirthDate":new Date(303091200000)}
]

Чтобы сделать это программно, объявите объекты вашего сотрудника и просто добавьте их в массив, например так:

var employees = [];
employees.push(employee1); // you would use a loop, of course
employees.push(employee2);
...
var jsonString = parser.toJSON(employees); // or whatever you use.

Это должно дать вам список объектов. Всегда игнорируйте класс в JSON ... .NET во время десериализации будет пытаться привести объект в этот конкретный класс. Проблемы возникают только в случае сбоя - возможно, из-за того, что переменная отсутствует или имеет неправильный тип.

0 голосов
/ 18 декабря 2009

Почему бы просто не использовать JSON.NET и позволить ему обрабатывать для вас кодирование / декодирование?

0 голосов
/ 19 декабря 2009

Есть хороший плагин jQuery для JSON. Это позволяет очень легко перейти от объекта JavaScript к JSON.

http://code.google.com/p/jquery-json/

0 голосов
/ 18 декабря 2009

будет выглядеть

<code>{"Employee" : 
     {
        "EmployeeID":"1",
        "FirstName":"Sridhar",
        etc...
     }
 }

Ссылка

Я считаю, что несколько экземпляров Employee в JSON будут выглядеть так:

<code>{"Employee" : 
     {
        "EmployeeID":"1",
        "FirstName":"Sridhar",
        etc...
     },
     {
        "EmployeeID":"2",
        "FirstName":"Joe",
        etc...
     }
 }

Может быть, это то, что вам нужно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...