gpt4 book ai didi

javascript - 具有单个元素的 grunt.file.readJSON

转载 作者:行者123 更新时间:2023-11-30 00:21:58 25 4
gpt4 key购买 nike

我遇到了最奇怪的问题,希望其他人已经看到了这个问题,甚至可能已经解决了。

以前,我在 grunt.js 文件中有一组参数,用于我的 Protractor 测试。下面的简单示例:

params: {
userId: "abc",
someData: ["abc"]
}

这没问题。然后,随着我的数据增长,我觉得将它外部化到另一个文件会更好,所以我这样做了,并使用 grunt.file.readJSON 加载了该文件。

params: grunt.file.readJSON('my/external/file.json');

以及文件的内容:

{
"userId": "abc",
"someData": ["abc"]
}

检查 params.userId 工作完美。但是,如果我检查 params.someData 的长度,我得到的长度是 3 而不是 1。数组已更改。但是,如果我像这样对 someData 进行更多更改:

{
"userId": "abc",
"someData": ["abc", "def"]
}

然后数组按预期显示了两个元素。有任何想法吗?如何用字符串保留单个元素数组?

最佳答案

正如您从评论中看到的那样,感谢 Michael Radionov,这是基于 grunt-protractor-runner 将参数更改为命令行变量。那就是说一切都变成了一个字符串。切线地,这个 stackoverflow 问答中也提到了这一点:

How can I use command line arguments in Angularjs Protractor?

在这个 grunt-protractor-runner 问题中“

https://github.com/teerapap/grunt-protractor-runner/issues/130

您会讨厌的快速解决方法是更改​​您的 json,然后在您的 Protractor 文件中解析 json。

这个:

someObj.data = ["abc"]

变成:

someObj.data = "[\"abc\"]"

现在在 Protractor 文件中,您只需提取数据:

var myArray = JSON.parse(someObj.data);

您将获得预期的数据。

关于javascript - 具有单个元素的 grunt.file.readJSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32771457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com