2013-08-29 34 views
5

Ví dụ: tôi có một tệp có tên là people.json. nội dung của nó là:cách viết tập lệnh để chỉnh sửa tệp JSON?

[ 
    {"name": "Paul", 
    "age": 29, 
}, 
    {"name": "Kathy", 
    "age": 101, 
}, 
    {"name": "Paula", 
    "age": 12, 
}, 
    {"name": "Bruce", 
    "age": 56, 
} 
] 

ở đây tôi muốn thêm một liên kết hình ảnh cho mỗi người ví dụ

[{"name":"Paul", 
"age" : 29, 
"pic" : "paul.png" 
}, 
    {"name": "Kathy", 
    "age": 101, 
"pic" : "kathy.png" 
}, 
    {"name": "Paula", 
    "age": 12, 
"pic" : "paula.png" 
}, 
    {"name": "Bruce", 
    "age": 56, 
"pic" : "bruce.png" 
} 
] 

Làm thế nào để đi về cách viết một kịch bản để thêm một chìa khóa pic vào mỗi người và thêm trong một person.name.lowercase + ".png" dưới dạng giá trị?

Khi kết thúc quá trình, people.json sẽ được chỉnh sửa và lưu vào phần cứng chứ không phải bộ nhớ.

Cảm ơn bạn rất nhiều.

+5

Trong bất kỳ ngôn ngữ nào, đây là một vài dòng mã. Chọn cái bạn thích. –

+1

Để có JSON đúng, bạn thiếu một số dấu phẩy. –

+0

Tôi rất mới với điều này. Xin cho tôi một số gợi ý? – dazer

Trả lời

8

Dưới đây là một chương trình hoàn chỉnh, trong JavaScript (sử dụng Node.js), làm những gì bạn muốn:

fs = require('fs'); 
var m = JSON.parse(fs.readFileSync('people.json').toString()); 
m.forEach(function(p){ 
    p.pic = p.name.toLowerCase()+".png"; 
}); 
fs.writeFile('people.json', JSON.stringify(m)); 

Và như một phần thưởng (kể cả cho người trả lời khác với các ngôn ngữ khác), đây là một JSON đầu vào cố định:

[ 
    {"name":"Paul","age":29}, 
    {"name":"Kathy","age":101}, 
    {"name":"Paula","age":12}, 
    {"name":"Bruce","age":56} 
] 
Các vấn đề liên quan