- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 linq.js 将两个 SelectMany 调用链接在一起。
给定以下 JSON 结构:
[
{
"UpFrontCost": "29.95",
"Currency": "USDAUD",
"FittingDate": "2013-07-08 06:30:16Z",
"Widgets": [
{
"ID": 3,
"Name": "Test1"
},
{
"ID": 4,
"Name": "Test19"
},
{
"ID": 6,
"Name": "Test8"
}
]
},
{
"UpFrontCost": "29.95",
"Currency": "USDAUD",
"FittingDate": "2013-07-08 06:30:16Z",
"Widgets": [
{
"ID": 67,
"Name": "Test1"
},
{
"ID": 99,
"Name": "Test19"
},
{
"ID": 34,
"Name": "Test8"
}
]
}
]
我想要所有“小部件”的列表(在此示例中为 6 个小部件的列表)。
最佳答案
您不需要真正链接任何东西。您的根对象是一个数组,您只想为该数组中的每个对象选择每个小部件。
var query = Enumerable.From(jsonObject)
.SelectMany("$.Widgets") // Select each widget found in the Widgets property
.ToArray();
要展平将父对象的每个属性附加到结果的小部件数组,您可以采用多种方法。您可以使用函数语法来使用嵌套查询。
var query = Enumerable.From(jsonObject)
.SelectMany(function (item) {
return Enumerable.From(item.Widgets)
.Select(function (widget) {
return {
ID: widget.ID,
Name: widget.Name,
UpFrontCost: item.UpFrontCost,
Currency: item.Currency,
FittingDate: item.FittingDate
};
});
})
.ToArray();
或者使用 lambda 字符串语法:
var query = Enumerable.From(items)
.SelectMany("$.Widgets",
// argument 1 ($) - the parent object
// argument 2 ($$) - the selected object (a widget)
"{ ID: $$.ID, Name: $$.Name, UpFrontCost: $.UpFrontCost, Currency: $.Currency, FittingDate: $.FittingDate }"
)
.ToArray();
关于javascript - 如何使用 linqjs 链接 "SelectMany"调用(或展平 JSON),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17695075/
我正在使用 linqjs,并且我有一个包含要包含在列表中的 ids 的数组,以及一个包含具有属性 userId 的复杂对象的数组。 问题是,当我进行交集时,它似乎永远不会返回任何内容,但是 compa
我正在使用 LinqJs 并尝试创建包含特定数据集的分组集。我已经用 MS-SQL 编写了查询,并希望获得一些帮助以将其转换为 LinqJs。我的主要问题是试图获得非重复计数。这是我的带有示例表和数据
这似乎是一个简单的问题,但我正在为 linqjs 语法而苦苦挣扎。 给定以下基本 JSON: { "DateEvent": "2013-04-23 14:00:00Z",
我想使用 LinqJS 执行 GroupBy 函数,但似乎效果不佳... 我的目标: 我的代码: Enumerable.From(obj).GroupBy('{name: $.name}', null
第一个是对象数组: let objectArray = [{ FullName: "Person1", PersonId: "id1" }, { FullName: "
我正在制作一个 html5 Canvas 游戏,其中我有一个非常大的多维数组,我需要从中选择一些我将进一步使用或删除的东西。 现在我看到了三种不同的方法: 使用 for 循环并迭代整个数组。 使用ar
一段时间以来我一直在尝试通过将一些旧的 Linq 查询转换为 LinqJs 查询来学习 LinQJS。 这是 Linq 查询。 (from y in class1 join x in class2
我有一个 JavaScript 数组,其中包含一个 id、书名 usw 的对象,我需要搜索它并使用 linqjs 获取具有给定 id 的标题。 示例: “213-46-8915”:id “忙碌的主管的
是否可以在 knockout 数据绑定(bind)阶段使用 Enumerable?如果我首先执行 ToArray,我只能让它工作,这将消耗 Enumerable http://jsfiddle.net
我想从我的 Web 方法返回一些 json,在客户端我可以使用 linqjs 进行分组和计数。 一些模拟数据看起来像...... var data = [ { Name: "Bob" },
如何使用 linq.js 将两个 SelectMany 调用链接在一起。 给定以下 JSON 结构: [ { "UpFrontCost": "29.95", "
我是一名优秀的程序员,十分优秀!