에 JSON 문자열을 변경하려면 "127,30" }어떻게이 같은 JSON이 롱/더블/수
나는이처럼 더블/번호에 "값"필드를 변경하려면 :
{ "id_document": "12345679", "이름" "John SMmith", "값": 127.30 }
문제는 내가 JSON 데이터가 많다는 것입니다 (예 : 70k 라인). 그래서 이것을 자동화하는 방법이 필요합니다. 사람이 ideias 있나요?
어떤 언어로도 해결할 수 있습니다. 나는 NodeJS를 시도하고 있었다.
도움 주셔서 감사합니다.
편집 :
내 JSON 파일이 같은 :
{ "DESPESA": [{ "sgPartido": "DEM", "numMes": 1, "txtCNPJCPF": "03625917000170" "vlrGlosa": "0", "txNomeParlamentar": "ABEL MESQUITA JR.", "sgUF": "RR", "nuCarteiraParlamentar": 1, "vlrDocumento": "4007,06", "nuDeputadoId": 3074, 55, "vlrRestituicao": "0", "numParcela": 0, "txtDescricao": null, "datEmissao": null, "datEmissao": null, "codLegislatura" "txtNumero": "4339", "numEspecificacaoSubCota": 1, "txtFornecedor": "BB PETROLEO LTDA", "numLote": 1354058, "indTipoDocumento": 0, "idecada 스트로브 ": 178957,"numAno ": 2017,"txtTrecho ": null,"numRessarcimento ": 5711,"vlrLiquido ":"4007,06 ","ideDocumento ": 6196889,"nuLegislatura ": 2015}, ... 70k 이것과 말과 같은 개체}
편집과 라인 : 가야에 대한
fs = require('fs');
var in_file = 'in.json';
var out_file = 'out.json'
fs.readFile(in_file, 'utf8', function(err, data) {
data = JSON.parse(data);
for(let i in data.DESPESA) {
let despesa = data.DESPESA[i];
let valor = despesa.vlrDocumento.replace(',', '.');
data.DESPESA[i].vlrDocumento = parseFloat(valor);
}
fs.writeFile(out_file, JSON.stringify(data), function(err) {
if (err) throw err;
console.log('The file has been saved!');
});
});
덕분에 도움이 답변이 차이를 만들어 : 나는 너희들을했다가, 결과는 것이 었습니다.
뭔가를했다 때 fs =은 ('FS')을 필요로; var에 m = 'out.json'; fs.readFile (m, 'UTF8' 함수 (오류, 데이터) { \t data = JSON.parse (data); \t Object.keys (데이터) .forEach (함수 (vlrDocumento) { \t \t vlrDocumento.value =에서는 parseFloat (vlrDocumento.replace (",", ".")) \t \t JSON.stringify (vlrDocumento.value) \t}) }); – Yago
여기에 Object.keys()가 무엇을 할 것인지 잘 모르겠다. 하나의 거대한 JSON 객체가있는 단일 파일이 있으면 그 구조가 무엇인지 궁금 할 것이다.그것이 객체의 배열이라면, 당신은 객체가 아닙니다. 키, forEach 또는 map을 사용할 것입니다. – JoeTortuga
JSON의 한 Object로 내 질문을 편집했습니다. "vlrDocumento": "4007,06"항목을 "vlrDocumento": 4007.06 및 모든 70k others 개체로 변경하려고합니다. 동일한 "vlrDocumento"키에 대해 서로 다른 값을 가진 각각 하나. – Yago