首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在json输出的VB .NET中从键值对的值中捕获字符串列表

在json输出的VB .NET中从键值对的值中捕获字符串列表
EN

Stack Overflow用户
提问于 2018-04-16 20:33:44
回答 1查看 188关注 0票数 0

我有一个有效的请求后响应转换为json

代码语言:javascript
复制
Dim jsonResulttodict = JsonConvert.DeserializeObject(Of Dictionary(Of String, object))(responseFromServer)

在解析字典时,我发现了一个字符串列表,如下所示

代码语言:javascript
复制
Dim levelOne = jsonResulttodict.item ("level_one")
Dim levelTwo = levelOne.item ("level_two")

在鼠标悬停时,levelTwo显示为:

代码语言:javascript
复制
{["value-3", "value-2", "value-1"]}

Console.Writeline(levelTwo.ToString())的结果是:

代码语言:javascript
复制
[ "value-3", "value-2", "value-1" ]

这听起来很傻,但我只是无法将其捕获到一个变量(字符串列表)中。

我已经试过了,但都没有用:

代码语言:javascript
复制
Dim mylist As List(Of String) = New List(Of String)({levelOne.item("level_two")})

代码语言:javascript
复制
For Each pair As KeyValuePair(Of String, List(Of String)) In levelTwo
            Console.WriteLine(pair.Key)
            Console.Write("  ")
            Console.WriteLine(pair.Value)
        Next
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-16 21:44:12

在进一步检查时,我打印出了变量的类型。

代码语言:javascript
复制
Console.WriteLine(levelTwo.GetType())

我得到它的Newtonsoft.Json.Linq.JArray。现在一切看起来都很琐碎。

现在,我可以按以下方式迭代JArray

代码语言:javascript
复制
for each value as String In levelTwo
    Console.WriteLine(value.ToString())
Next

印刷品如下:

代码语言:javascript
复制
value-3
value-2
value-1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49865779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档