JSON 파일을 변환할 때 "Invalid JSON 프리미티브" 오류가 발생함
PowerShell을 통해 JSON 파일을 변환하려고 할 때:
$json = Get-Content "C:\folder1\test.txt"
$json | ConvertFrom-Json
write-output $json
다음 오류가 발생합니다.
잘못된 json 프리미티브 : [.
(system.argument.sys)
입력 데이터나 전체 오류 메시지를 제공하지 않았기 때문에 여기서 신중을 기하고 있습니다. 하지만 출력 간의 형식 불일치로 인해 문제가 발생한 것 같습니다.Get-Content
및 입력을 제공ConvertFrom-Json
기대합니다.
Get-Content
입력 파일을 문자열 배열로 읽습니다. 반면ConvertFrom-Json
JSON 데이터를 단일 문자열로 예상합니다.또한 배관$json
안으로ConvertFrom-Json
의 값은 변경되지 않습니다.$json
.
코드를 다음으로 변경하면 오류가 사라집니다(입력 데이터에 구문 오류가 없는 경우).
$json = Get-Content 'C:\folder1\test.txt' | Out-String | ConvertFrom-Json
Write-Output $json
JSON 입력 파일에서 "\"로 제대로 이스케이프되지 않은 문자가 있는지 확인해야 합니다.
또한 다음과 같이 잘못 포맷된 입력 JSON 파일에서도 이 문제가 발생했습니다.
{
Object1
}
{
Object2
}
수정된 형식:
[{
Object1
},
{
Object2
}]
일단 포맷이 수정되면, 저는 더 이상 문제가 없었습니다.
저도 이 오류를 받고 있었고, 제 json 파일을 조사한 결과 일부 JSON이 유효하지 않다는 것을 알게 되었습니다.배열의 마지막 개체를 다음과 같은 쉼표로 마무리하고 있었습니다.
[{ ..},]
쉼표를 제거한 것이 스스로 문제를 해결했습니다.
간단히 말해서, 무효 JSON이 저에게 이 문제를 일으켰습니다.
입력 데이터가 다음과 같이 시작하면 이 오류가 발생합니다.
data: [
{
...
},
{
...
}
]
제거해야 합니다.data:
(그리고 그것만 가지고 있습니다.[
그리고.]
이 예에서는):
[
{
...
},
{
...
}
]
언급URL : https://stackoverflow.com/questions/24453320/invalid-json-primitive-error-when-converting-json-file
'programing' 카테고리의 다른 글
PowerShell 노트 속성이란? (0) | 2023.08.24 |
---|---|
iOS 흰색에서 투명 그라데이션 계층은 회색입니다. (0) | 2023.08.24 |
MySQL TIMESTAMP를 CURRENT_TIMESTAMP가 아닌 기본 NULL로 설정 (0) | 2023.08.24 |
Git는 Gtk-WARNING을 생성합니다: 디스플레이를 열 수 없습니다. (0) | 2023.08.24 |
jQueryForce iframe에 대한 src 속성 설정 (0) | 2023.08.24 |