使用JToken.Parse解析JSON - 帮助我将一行代码从C#转换为VB

时间:2013-05-29 12:07:24

标签: c# vb.net json

我在this page上找到的C#中的示例中无法从VB.Net中获得相同的结果:

C#示例返回“Object”,但在VB.Net中我得到“1”。任何想法如何得到相同的结果?

C#:

JToken t1 = JToken.Parse("{}");
Console.WriteLine(t1.Type);
// Object

VB:

Dim t1 As JToken = JToken.Parse("{}")
Console.WriteLine(t1.Type)
// 1

2 个答案:

答案 0 :(得分:5)

j1.Type实际上是一个枚举(JTokenType),它的值是1,所以它们是相同的

public enum JTokenType
{
    // Summary:
    //     No token type has been set.
    None = 0,
    //
    // Summary:
    //     A JSON object.
    Object = 1,
    //
    // Summary:
    //     A JSON array.
    Array = 2,
    //
    // Summary:
    //     A JSON constructor.
    Constructor = 3,
    //
    // Summary:
    //     A JSON object property.
    Property = 4,
    //
    // Summary:
    //     A comment.
    Comment = 5,
    //
    // Summary:
    //     An integer value.
    Integer = 6,
    //
    // Summary:
    //     A float value.
    Float = 7,
    //
    // Summary:
    //     A string value.
    String = 8,
    //
    // Summary:
    //     A boolean value.
    Boolean = 9,
    //
    // Summary:
    //     A null value.
    Null = 10,
    //
    // Summary:
    //     An undefined value.
    Undefined = 11,
    //
    // Summary:
    //     A date value.
    Date = 12,
    //
    // Summary:
    //     A raw JSON value.
    Raw = 13,
    //
    // Summary:
    //     A collection of bytes value.
    Bytes = 14,
    //
    // Summary:
    //     A Guid value.
    Guid = 15,
    //
    // Summary:
    //     A Uri value.
    Uri = 16,
    //
    // Summary:
    //     A TimeSpan value.
    TimeSpan = 17,
}

试试这个:

JToken t1 = JToken.Parse("{}");
Console.WriteLine((int)t1.Type);

答案 1 :(得分:0)

此代码适用于VB.Net:

Dim t1 As JToken = JToken.Parse("{}")
Console.WriteLine((t1.Type).ToString)
//Object