解析JSON时“无效的数组传递”

前端之家收集整理的这篇文章主要介绍了解析JSON时“无效的数组传递”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个我想用Power Shell阅读的文件
var myMap =
[
  {
    "name": "JSON Example","attr": "Another attribute"
  }
]

我的PowerShell v3代码

$str = Get-Content $file | Select -Skip 1;
$str | ConvertFrom-Json;

但我总是得到这个错误

ConvertFrom-Json : Invalid array passed in,']' expected. (1): [
At S:\ome\Path\script.ps1:60 char:8
+ $str | ConvertFrom-Json;
+        ~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [ConvertFrom-Json],ArgumentException
    + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.ConvertFromJsonCommand

如果我将JSON代码手动复制并粘贴到代码中,一切都正常工作:

'[
  {
    "name": "JSON Example","attr": "Another attribute"
  }
]' | ConvertFrom-Json;

解决方法

尝试管道到Out-String之前管道ConvertFrom-Json:
Get-Content $file | Select -Skip 1 | Out-String | ConvertFrom-Json

在您的工作示例中,JSON代码是一个字符串,而非工作示例返回一组行.管道Out-String将集合转换为单个字符串,这是InputObject参数接受的.

原文链接:https://www.f2er.com/js/152542.html

猜你在找的JavaScript相关文章