在客户端创建json字符串

时间:2009-12-18 20:36:49

标签: javascript json

我正在尝试创建与服务器端的以下数据等效的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

Employee是一个具有EmployeeId,FirstName,Title,Birthdate,TitleOfCourtesy属性的类。

谢谢, 斯里达尔。

4 个答案:

答案 0 :(得分:2)

请记住,在Javascript中没有类的概念,只有对象。这也延续到了JSON。看看这个:

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

如果查看第一行,“Employee”符号对JSON完全没有任何作用。请记住,我们只处理ONLY对象。

这就像你说的那样有效。

[
{"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将尝试将对象强制转换为该特定类。如果失败,您只会遇到问题 - 可能是因为变量缺失或类型错误。

答案 1 :(得分:0)

看起来像

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

Reference

我相信JSON中的多个Employee实例看起来像这样:

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

也许这就是你需要的东西?

答案 2 :(得分:0)

为什么不使用JSON.NET并让它为您处理编码/解码?

答案 3 :(得分:0)

JSON有一个很好的jQuery插件。它允许您非常轻松地从JavaScript对象转到JSON。

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