<script src="js/es5-shim.js"></script>
<script src="js/js-yaml.js"></script>
<script src="js/esprima.js"></script>
主要需要三个js文件
jsyaml.load(str)
str指的是文件内容
getFileContent(this, function (str) { // this指的是input控件
arrEdit[$thisIndex].setValue(str);
try{
arrJsonEdit[$thisIndex].setValue(JSON.stringify(jsyaml.load(str), null, 4))
}catch(e){
arrJsonEdit[$thisIndex].setValue(e.message)
$(".textarea-json-content:eq("+ $thisIndex +") .json-textarea .CodeMirror-line").css({"padding-left":"40px","color":"red"})
}
// content.value = str
// console.log(content.value )
});
function getFileContent (fileInput, callback) { // 获取文件input控件的内容
if (fileInput.files && fileInput.files.length > 0 && fileInput.files[0].size > 0) {
//下面这一句相当于JQuery的:var file =$("#upload").prop('files')[0];
var file = fileInput.files[0];
if (window.FileReader) {
var reader = new FileReader();
reader.readAsText(file, 'gbk');
reader.onloadend = function (evt) {
if (evt.target.readyState == FileReader.DONE) {
callback(evt.target.result);
}
};
// 包含中文内容用gbk编码
}
}
};