问题标签 [linq-to-json]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1969 浏览

c# - 在 C# 中的 JSON 数组中搜索文本

我正在实现简单的搜索引擎。所有数据都以 JSON 格式保存在文本文件中。我的实现方案是,如果我搜索像“rock”这样的词,方法应该返回结果作为包含“rock”值的标签 ID 列表。我一直在寻找示例代码,但在每个示例中,他们都通过类似 track_id 的标签进行搜索,但我需要搜索按值。这是我的示例 JSON 数组..

在此处输入图像描述

测试字:rock 预期结果:991335,991336,991337

0 投票
2 回答
2177 浏览

linq - LINQ to JSON - 查询数组

我需要选择在他们的 json 数组中有“3”的用户。

最后,我的结果应该是埃隆马斯克和史蒂夫乔布斯。这是我使用的代码(和其他变体):

我收到以下错误:

我换.Values<string>().Values<int>(),仍然没有运气。

我究竟做错了什么?

0 投票
2 回答
1743 浏览

c# - LINQ to JSON - Newtonsoft.Json.Linq.JProperty 错误

以下是我的 json 字符串:

当我尝试执行以下 LINQ 查询时:

我收到以下错误:

但是,以下工作正常:

知道为什么我不能在这个 json 字符串上使用 LINQ 吗?

0 投票
3 回答
4305 浏览

c# - LINQ to JSON - 查询对象或数组

我正在尝试获取 SEDOL 和 ADP 值的列表。下面是我的 json 文本:

这是我到目前为止的代码:

我得到的错误是:

使用无效键值访问的 JArray 值:“sedol”。需要 Int32 数组索引

我想我真的很接近弄清楚这一点。我应该怎么做才能修复代码?如果有其他方法可以获取SEDOLand ADP value,请告诉我?

[UPDATE1]我已经开始使用动态 ExpandoObject。这是我到目前为止使用的代码:

但我现在得到了错误'ExpandoObject' does not contain a definition for 'DataFeed' and no extension method 'DataFeed' accepting a first argument of type 'ExpandoObject' could be found注意:我了解此 json 文本格式错误。一个实例有一个数组,另一个是一个对象。我希望代码足够敏捷以处理这两个实例。

[UPDATE2]感谢@dbc 到目前为止帮助我编写代码。我已经更新了上面的 json 文本以紧密匹配我当前的环境。我现在可以获得 SEDOL 和 ADP 代码。但是,当我尝试获得第一个分析师时,我的代码仅适用于对象并为作为数组一部分的分析师生成空值。这是我当前的代码:

我需要更改哪些内容才能始终选择第一个分析师?

0 投票
2 回答
1304 浏览

c# - 如何在 C# 中使用 JSON.Net 查询和枚举复杂的 JSON 对象

如何在 C# 中使用 JSON.NET 查询(查看属性是否存在)和枚举(数组属性)在复杂 JSON 对象中找到?

我从具有可变数量/类型的属性的 API 接收复杂的 JSON 对象。

我一直在阅读 JSON.Net 文档,查看示例等,但没有走得太远,并且迷失在 JObject、JArray、JToken、使用动态等...

我想找到该pageResponses.scriptOutput属性,验证它包含和.items[]数组,然后枚举/迭代数组。

编辑

我取得了进展,并在 JSON 数据示例中发现了错字。

但是如何使用键名查询/枚举子对象,例如(item.location, item.timestamp)?

(为简洁起见,以下 JSON 示例被删减)

0 投票
2 回答
1628 浏览

c# - LINQ to JSON - SelectToken 错误

这是我正在使用的 JSON 字符串。

我正在尝试获取 SYMBOL、NAME、PRICE 和 AGG_VOLUME 的值列表。到目前为止,这是我的代码:

但我收到以下错误:

你调用的对象是空的。

我究竟做错了什么?

0 投票
2 回答
319 浏览

c# - 从多态 json 检索 LINQ to Json 数据

我有一个多态的 json 字符串。这是它的样子:

有人曾经帮助我扩展类,以便我可以检索 ADP 代码。这是扩展类:

基于此,这是我的查询:

我能够获得 ADP 代码。但是如何获得 ISIN 代码?我想我已经很接近了,但是我得到了所有的空值。我需要改变什么才能使这项工作?

0 投票
1 回答
145 浏览

c# - 多态 json 上的 LINQ 以获取逗号分隔的字段

我有一个多态的 json 字符串。这是它的样子:

有人曾经帮助我使用以下扩展类:

基于此,这是我的查询:

当我尝试查询时,我收到以下错误:

我正在尝试将所有光盘放在逗号分隔的字段中,用于每个股票代码。最终结果应如下所示:

最终结果

我怎样才能得到最终结果?

0 投票
1 回答
88 浏览

c# - LINQ to JSON - 来自不同数组的设置列表

我有一个多态的 json 字符串。这是它的样子:

我正在使用以下扩展类:

基于此,这是我的查询:

当我尝试查询时,我没有收到错误但得到以下信息(来自 LinqPad): 在此处输入图像描述

最终结果应如下所示(在 Excel 中模拟): 在此处输入图像描述

知道如何获得最终结果吗?

0 投票
1 回答
106 浏览

json - 为什么转储此 JObject 会在 LINQPad 中引发 AmbiguousMatchException?

当我使用 JSON.NET 在 LINQPad 中运行此代码时:

尝试AmbiguousMatchException将解析的 JSON 转储到 LINQPad 的输出窗口时会抛出一个。为什么?据我所知,这是完全合法的 JSON。http://jsonlint.com/说它也是有效的。