gpt4 book ai didi

.net - 如何使用 .NET 创建 JSON 数据?

转载 作者:行者123 更新时间:2023-12-03 22:33:50 25 4
gpt4 key购买 nike

目前,我正在构建 json 数据,如下所示:

<%@ Page Language="VB" Debug="True" EnableViewState="false" %>

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.IO" %>

<script runat="server">
Dim objSQLConnection As SqlConnection
Dim objSQLCommand As SqlCommand
Dim objSQLDataReader As SqlDataReader
Dim objJSONStringBuilder As StringBuilder

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Response.Clear()
Response.ContentType = "application/json"
Response.Write(get_json())
Response.End()
End Sub

Function get_json() As String
objJSONStringBuilder = New StringBuilder()
objSQLConnection = New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("connString"))

objSQLCommand = New SqlCommand("sql query goes here", objSQLConnection)

objJSONStringBuilder.Append("[")

objSQLCommand.Connection.Open()
objSQLDataReader = objSQLCommand.ExecuteReader()

While objSQLDataReader.Read()
objJSONStringBuilder.Append("{")
objJSONStringBuilder.Append("""col1""")
objJSONStringBuilder.Append(":")
objJSONStringBuilder.Append("""" & objSQLDataReader("col1") & """")
objJSONStringBuilder.Append(",")
objJSONStringBuilder.Append("""col2""")
objJSONStringBuilder.Append(":")
objJSONStringBuilder.Append("""" & objSQLDataReader("col2") & """")
objJSONStringBuilder.Append(",")
objJSONStringBuilder.Append("""col3""")
objJSONStringBuilder.Append(":")
objJSONStringBuilder.Append("""" & objSQLDataReader("col3") & """")
objJSONStringBuilder.Append("},")
End While

objSQLDataReader.Close()
objSQLCommand.Connection.Close()

objJSONStringBuilder.Remove(objJSONStringBuilder.Length - 1, 1)

objJSONStringBuilder.Append("]")

Return objJSONStringBuilder.ToString
End Function
</script>

这是使用 .NET 创建 JSON 数据的首选方法吗?

我想我应该使用 asmx Web 服务并将数组转换为 json?但是我看到的所有示例都是用 C# 编写的。

最佳答案

我的机器上没有 VB,但如果您想使用 JavaScriptSerializer 类,您的项目必须面向 .NET Framework 3.5 或 .NET Framework 4.0(既不是 .NET Framework 3.5 Client Profile,也不是 .NET Framework 4.0 Client Profile)。将 System.Web.Extensions.dll 添加到引用中。

C#中的一个例子是:

public String Index()
{
Object[] myArray = new Object[3];

myArray[0] = new { col1 = "foo", col2 = "bar" };
myArray[1] = new { col1 = "fizz", col2 = "buzz" };
myArray[2] = new { col1 = "fizz", col2 = "buzz" };

JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(myArray);
}

这个函数的输出是:
[{"col1":"foo","col2":"bar"},{"col1":"fizz","col2":"buzz"},{"col1":"fizz","col2":"buzz"}]

将其转换为 VB 应该很容易。

更新: VB版本:
Function get_json() As String
Dim myArray(2) As Object

myArray(0) = New With {Key .col1 = "foo", .col2 = "bar"}
myArray(1) = New With {Key .col1 = "fizz", .col2 = "buzz"}
myArray(2) = New With {Key .col1 = "fizz", .col2 = "buzz"}

Dim serializer As New JavaScriptSerializer()
Return serializer.Serialize(myArray)
End Function

相同的输出,只是不要忘记导入 System.Web.Script.Serialization .

关于.net - 如何使用 .NET 创建 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6452769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com