现有一个json数组,如何用JavaScript实现将json数组写入.js文件中。
$.parseJSON(data)
function funSave() {
var id = $('#testText1')[0].value;
var name = $('#testText2')[0].value;
var str = '{mydata:[' + '{id:' + id + ',name:' + name + '}' + ']}';
str = "{MyData:[{id:'" + id + "',name:'" + name + "'}]}";
//var json = eval('(' + str + ')');
var fso, tf;
try{
fso = new ActiveXObject("Scripting.FileSystemObject");
tf = fso.CreateTextFile("F:\\BaiduYun\\MyHtml\\DB_USER.json", true);
tf.WriteLine(str);
}catch(err){
}finally{
tf.Close();
}
}
function funSearch() {
var fso, ts, s;
var ForReading = 1;
try{
fso = new ActiveXObject("Scripting.FileSystemObject");
ts = fso.OpenTextFile("F:\\BaiduYun\\MyHtml\\DB_USER.json", ForReading);
s = ts.ReadLine();
var json = eval('(' + s + ')');
alert(json.MyData[0].id);
}catch(err){
}finally{
ts.Close();
}
}
安全问题,客户端js无法操作客户端的js文件。你是要将json写回服务器端的js文件吧,是不是搞错了?百度自己使用的动态语言的IO对象如何使用
WriteLine(json)
url :‘json所在的路径’
相当于在服务器上操作文件,得用流
<body>
<input type="button" value="send ajax json" onclick="sendAjaxByjson();"/>
<input type="button" value="send ajax array" onclick="sendAjaxByarray();"/>
</body>
<script type="text/javascript">
function sendAjaxByjson(){
$.post("json",{},function(data){
var obj=data;
alert(typeof obj);//string
//var a=eval(obj);不解,不注释则会报错..
var strToobj=$.parseJSON(obj);
alert(strToobj.name);
alert(typeof strToobj)//obj
var obja={'name':'techbirds','age':'23','sex':'male'};
alert(typeof obja);//obj
alert(obja['name']+":"+obja.age);
delete obja['name'];
});
}
function sendAjaxByarray(){
$.post("array",{},function(data){
var str=data;
alert(typeof str);//string
alert(typeof eval(str));//object
var obja=[1,2,3,4,5];
alert(typeof obja);//object
});
}
</script>
可以先将json 转为字符串,再存储js文件中