Javascript 在客户端创建json字符串

Javascript 在客户端创建json字符串,javascript,json,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" new

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

谢谢, sridhar.

它看起来像

{“员工”:
{
“雇员ID”:“1”,
“FirstName”:“Sridhar”,
等
}
}

我相信JSON中Employee的多个实例如下所示:

{“员工”:
{
“雇员ID”:“1”,
“FirstName”:“Sridhar”,
等
},
{
“雇员ID”:“2”,
“名字”:“乔”,
等
}
}


也许这就是你所需要的?

为什么不直接使用并让它为你处理编码/解码呢?

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


请记住,Javascript中没有类的概念,只有对象。这也会传递到JSON中。看看这个:

{"Employee" : 
     {
        "EmployeeID":"1",
        "FirstName":"Sridhar",
        etc...
     }
 }
如果看第一行,“Employee”符号对JSON完全没有任何作用。记住,我们只处理对象

正如你所说,这就是为什么它会起作用

[
{"EmployeeID":1,
"LastName":"Duggireddy",
"FirstName":"Sridhar",
"Title":"Programmer",
"TitleOfCourtesy":"Programmer",
"BirthDate":new Date(303091200000)}
]
要通过编程实现这一点,请声明employee对象,然后将它们添加到数组中,如下所示:

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在反序列化期间将尝试将对象强制到该特定类中。只有在失败时才会出现问题-可能是因为缺少变量或变量类型错误

我以前试过,但没用。服务器端返回的列表是员工数组。应该可以。它是一个主键为“Employee”的对象,其值是一个具有各种属性(如“EmployeeID”和“FirstName”)的对象本身。这个JSON是正确的,所以我不知道为什么它会返回一个数组,除非它是您的服务器端代码……如果我将VARABLE设置为[{“EmployeeID”:1,“LastName”:“Duggireddy”,“FirstName”:“Sridhar”,“Title”:“程序员”,“TitleOfCourtesy”:“程序员”,“生日”:新日期(303091200000)};它正在工作。但是我不知道如何以编程方式创建它。>我相信JSON中Employee的多个实例会是这样的:>>实际上,您正在寻找一个数组。不能连续使用多个对象作为这样的值。以下是使用数组为多个雇员编写的更正代码:{“Employee”:[{“EmployeeID”:“1”,“FirstName”:“Sridhar”},{“EmployeeID”:“2”,“FirstName”:“Joe”}}}此外,由于数组是使用整数编制索引的,因此可以完全删除EmployeeID字段,而只使用整数作为EmployeeID字段。@Dustin-谢谢,我对语法不是100%肯定@Sridhar-我从来没有像这样创建过JSON客户端,所以我认为您要么必须通过创建一个长字符串手动构建它,要么(可能是一个更简单的选项)使用Sakabako建议的已经制作好的东西来实现。谢谢您的解释。它工作得很好。但我没有使用parser.toJSON。它是一个标准的javascript函数还是我需要包含的插件?不,您使用的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.