0

我遇到了一种情况,我必须在表格中显示以下响应。

[
  {
    "name": "Test",
    "endPointURI": "http://10.10.10.1:123",
    "successCount": 0,
    "failureCount": 3761,
    "successRate": 0.0,
    "failureRate": 5.980012278871403,
    "totalSent": 3761.0,
    "totalSendRate": 5.980012307671908,
    "latency": 0,
    "oneMinuteSuccessRate": 0.0,
    "fiveMinuteSuccessRate": 0.0,
    "fifteenMinuteSuccessRate": 0.0,
    "oneMinuteFailureRate": 9.971719382874516,
    "fiveMinuteFailureRate": 23.609469948078925,
    "fifteenMinuteFailureRate": 77.78484853747226,
    "oneMinuteSendRate": 9.913005632492993,
    "fiveMinuteSendRate": 23.60190467615165,
    "fifteenMinuteSendRate": 77.7832824814743,
    "lastSentSuccessTime": 0,
    "sendRate": 5.980012307671908
  },
[
  {
    "name": "Test2",
    "endPointURI": "http://10.10.10.1:123",
    "successCount": 0,
    "failureCount": 3761,
    "successRate": 0.0,
    "failureRate": 5.980012278871403,
    "totalSent": 3761.0,
    "totalSendRate": 5.980012307671908,
    "latency": 0,
    "oneMinuteSuccessRate": 0.0,
    "fiveMinuteSuccessRate": 0.0,
    "fifteenMinuteSuccessRate": 0.0,
    "oneMinuteFailureRate": 9.971719382874516,
    "fiveMinuteFailureRate": 23.609469948078925,
    "fifteenMinuteFailureRate": 77.78484853747226,
    "oneMinuteSendRate": 9.913005632492993,
    "fiveMinuteSendRate": 23.60190467615165,
    "fifteenMinuteSendRate": 77.7832824814743,
    "lastSentSuccessTime": 0,
    "sendRate": 5.980012307671908
  }]

我在这里有“名称”作为我的唯一键。

给定一个名称,我想返回具有“名称”的 JSON(或 javascript 对象)。

我在这里真的很困惑。有人可以帮忙吗?

4

3 回答 3

3

如果您只想使用具有特定name属性的集合中的对象,您可以只调用该Array.prototype.find方法吗?

let tableData = collection.find(function(myObject) {
    return myObject.name === 'Test'
})
于 2016-05-26T20:46:05.023 回答
0

你应该 Linq Js 框架... https://linqjs.codeplex.com/

示例:

var queryResult = Enumerable.from(jsonArray)
   .where(function (x) { return x.name == "Test2" })
   .orderBy(function (x) { return x.totalSent })
   .select(function (x) { return x.endPointURI }).toArray();

Nuget 链接:https ://www.nuget.org/packages/linq.js/

Nuget 代码:安装包 linq.js -版本 2.2.0.2

于 2016-05-26T20:48:55.433 回答
0

我想我想通了。

_.findWhere(results.attributes, {name: "Test"}) 

因为我的名字是唯一的,所以我使用了 findWhere,但如果它不是唯一的,我可以使用 find 而不是 findWhere。(下划线JS)

感谢你的帮助!

于 2016-05-26T21:09:57.260 回答