2017-09-26 11 views
0

NSIS 설치 프로그램에서 nsJSON 플러그인을 사용하여 여러 json 파일을 만듭니다. 추가 json을 만들 때 이전 파일의 값을 가지지 않도록 파일 사이의 배열을 지우는 방법nsJSON을 사용하여 여러 json 파일 만들기

이 단순화 된 예 : 위의 예에서

nsJSON::Set /value '[]' 
nsJSON::Set /value '{ "Input": [ { "test1": false, } ]' 
nsJSON::Set /value '{ "Input": [ { "test2": false, } ]' 
nsJSON::Serialize /format /file "C:\false.json" 

nsJSON::Set /value '[]' 
nsJSON::Set /value '{ "Input": [ { "test1": true, } ]' 
nsJSON::Set /value '{ "Input": [ { "test2": true, } ]' 
nsJSON::Serialize /format /file "C:\true.json" 

의 true.json 파일 내가 코드를 부여 기대할 수있는 것을 모든 설정 값이있을 것이다 그러나 나는 어떻게 명확를 찾고 있어요 일단 데이터가 파일에 쓰여지면 배열.

답변

0

JSON 예제의 형식이 잘못되어 }이 누락되었지만 문제를 설명하지 않습니다.

nsJSON은 루트 배열을 좋아하지 않습니다.

nsJSON::Set /value '{ "Input": [ { "test1": false, } ] }' 
nsJSON::Set /value '{}' # <-- Works, it is now just a empty object 

또한 삭제 명령이 있습니다 :

nsJSON::Set /value '{ "Input": [ { "test1": false, } ] }' 
nsJSON::Delete "Input" /end 

당신은 절대적으로 나는/트리 매개 변수를 사용하여 당신이 버그를 해결해야한다고 생각하고 단순히 여러 사용 배열로 루트가 필요한 경우 JSON 트리.

내가 플러그인 저자에게 나는 전체 트리를 삭제하는 더 나은 방법을 찾을 경우이 대답을 업데이트합니다 ...

편집 : nsJSON의 새 버전이 이제 출시되었습니다

(v1.1.1.0) 그리고이 문제를 수정 한 것으로 추정됩니다. Try nsJSON::Delete /end

+0

감사합니다. 제가 이미 시작한 방향이었습니다. 응용 프로그램은 JSON을 구성으로 사용하고 루트에 매개 변수가 있어야합니다. – afriesenborg

+0

나는 저자와 연락을했고 그는 버그라고 생각한다. 내가 더 많이 알게되면 업데이트 할게. – Anders