问题标签 [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.
c# - 在 C# 中的 JSON 数组中搜索文本
我正在实现简单的搜索引擎。所有数据都以 JSON 格式保存在文本文件中。我的实现方案是,如果我搜索像“rock”这样的词,方法应该返回结果作为包含“rock”值的标签 ID 列表。我一直在寻找示例代码,但在每个示例中,他们都通过类似 track_id 的标签进行搜索,但我需要搜索按值。这是我的示例 JSON 数组..
测试字:rock 预期结果:991335,991336,991337
linq - LINQ to JSON - 查询数组
我需要选择在他们的 json 数组中有“3”的用户。
最后,我的结果应该是埃隆马斯克和史蒂夫乔布斯。这是我使用的代码(和其他变体):
我收到以下错误:
我换.Values<string>()
了.Values<int>()
,仍然没有运气。
我究竟做错了什么?
c# - LINQ to JSON - Newtonsoft.Json.Linq.JProperty 错误
以下是我的 json 字符串:
当我尝试执行以下 LINQ 查询时:
我收到以下错误:
但是,以下工作正常:
知道为什么我不能在这个 json 字符串上使用 LINQ 吗?
c# - LINQ to JSON - 查询对象或数组
我正在尝试获取 SEDOL 和 ADP 值的列表。下面是我的 json 文本:
这是我到目前为止的代码:
我得到的错误是:
使用无效键值访问的 JArray 值:“sedol”。需要 Int32 数组索引
我想我真的很接近弄清楚这一点。我应该怎么做才能修复代码?如果有其他方法可以获取SEDOL
and 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 代码。但是,当我尝试获得第一个分析师时,我的代码仅适用于对象并为作为数组一部分的分析师生成空值。这是我当前的代码:
我需要更改哪些内容才能始终选择第一个分析师?
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 示例被删减)
c# - LINQ to JSON - SelectToken 错误
这是我正在使用的 JSON 字符串。
我正在尝试获取 SYMBOL、NAME、PRICE 和 AGG_VOLUME 的值列表。到目前为止,这是我的代码:
但我收到以下错误:
你调用的对象是空的。
我究竟做错了什么?
c# - 从多态 json 检索 LINQ to Json 数据
我有一个多态的 json 字符串。这是它的样子:
有人曾经帮助我扩展类,以便我可以检索 ADP 代码。这是扩展类:
基于此,这是我的查询:
我能够获得 ADP 代码。但是如何获得 ISIN 代码?我想我已经很接近了,但是我得到了所有的空值。我需要改变什么才能使这项工作?
json - 为什么转储此 JObject 会在 LINQPad 中引发 AmbiguousMatchException?
当我使用 JSON.NET 在 LINQPad 中运行此代码时:
尝试AmbiguousMatchException
将解析的 JSON 转储到 LINQPad 的输出窗口时会抛出一个。为什么?据我所知,这是完全合法的 JSON。http://jsonlint.com/说它也是有效的。