如何使用 Newtonsoft.Json 在 vb.net 中输出一个 json 文件

How to use Newtonsoft.Json to output a json file in vb.net

我在Newtonsoft.Json文档中看到的c#示例代码是这样的
但是我不太把它转换成vb.net码

StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);

using (JsonWriter writer = new JsonTextWriter(sw))
{
    writer.Formatting = Formatting.Indented;

    writer.WriteStartObject();
    writer.WritePropertyName("CPU");
    writer.WriteValue("Intel");
    writer.WritePropertyName("PSU");
    writer.WriteValue("500W");
    writer.WritePropertyName("Drives");
    writer.WriteStartArray();
    writer.WriteValue("DVD read/writer");
    writer.WriteComment("(broken)");
    writer.WriteValue("500 gigabyte hard drive");
    writer.WriteValue("200 gigabyte hard drive");
    writer.WriteEnd();
    writer.WriteEndObject();
}

// {
//   "CPU": "Intel",
//   "PSU": "500W",
//   "Drives": [
//     "DVD read/writer"
//     /*(broken)*/,
//     "500 gigabyte hard drive",
//     "200 gigabyte hard drive"
//   ]
// }

如何在vb.net中转录他?
我曾尝试使用一些C#来vb.net代码工具,但它们都是错误的。

你没有展示完整的代码,所以很难进一步帮助你。 要安装和使用 Newtonsoft.json,请执行以下操作: 1: 在你的 Visual Studio 项目菜单上打开你的 NuGet 包管理器,并将“Newtonsoft.Json”安装到你的项目中。

2:在您尝试使用该包的文件顶部键入以下 VB 代码:

Imports Newtonsoft.Json

代码翻译如下:

Imports System.IO
Imports System.Text
Imports Newtonsoft.Json
Public Class YourClassName
    Private Sub subname() 
        Dim sb As StringBuilder = New StringBuilder()
        Dim sw As StringWriter = New StringWriter(sb)

        Using writer As JsonWriter = New JsonTextWriter(sw)

            writer.Formatting = Formatting.Indented

            writer.WriteStartObject()
            writer.WritePropertyName("CPU")
            writer.WriteValue("Intel")
            writer.WritePropertyName("PSU")
            writer.WriteValue("500W")
            writer.WritePropertyName("Drives")
            writer.WriteStartArray()
            writer.WriteValue("DVD read/writer")
            writer.WriteComment("(broken)")
            writer.WriteValue("500 gigabyte hard drive")
            writer.WriteValue("200 gigabyte hard drive")
            writer.WriteEnd()
            writer.WriteEndObject()
        End Using

        ' {
        '  "CPU": "Intel",
        '   "PSU": "500W",
        '   "Drives": [
        '     "DVD read/writer"
        '     /*(broken)*/,
        '     "500 gigabyte hard drive",
        '     "200 gigabyte hard drive"
        '   ]
        ' }
    End Sub

备注: 在 C# 中,此转换为:using Newtonsoft.Json; 然后是您的其余代码...希望这对您有所帮助。

// 翻译成 ' 以供评论。

: 未在 VB.net

中使用

以下页面对于将代码从 C# 转换为 vb.net 非常有用,反之亦然: https://converter.telerik.com/