81,092
社区成员
发帖
与我相关
我的任务
分享
String fun = "var x= {code:\"DS471\", title:\"Certain Methodologies and their Application to Anti-Dumping Proceedings Involving China\", origin:\"CHN\",";
fun += " destination:\"USA\", start_date:\"2013/12/03\", subject:\"\", short_title:\"\", agreement:\"\", update_date:\"2013/12/03\", status:\"ST1#2013_12_03\", ";
fun += " third_party:\"\", reports_adopted:\"false\"};";
fun += " var obj=\"\";for(var o in x){ obj+=(o+\"-->\"+x[o]+\"|\"); } ";
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine engine = sem.getEngineByExtension("js");
try {
engine.eval(fun);
} catch (ScriptException ex) {
ex.printStackTrace();
}
System.out.println(engine.get("obj"));
//第一步先读入js中所有的内容放到String中
BufferedReader reader=new BufferedReader(new FileReader(你的js文件));
StringBuilder sb=new StringBuilder();
String line=null;
while((line=reader.readLine())!=null){
//把换行符去掉
sb.append(line);
}
reader.close();
//第二步把这个sb里面的真正的json内容拿到也就是从第一个"{"到最后一个"}"包括这两个{};
//这个是我们要的
String jsonString=sb.substring(sb.indexOf("{"),sb.lastIndexOf("}")+1);
//接下来给他转换成json-lib里的JSONObject对象
JSONObject jo=JSONObject.fromObject(jsonString);
//接下来你要获得那个属性就用jo.get(String key);
//修改属性使用jo.accumulate(String key,Object value);
更多的使用可以直接google json-lib的使用例子很多
修改完了
直接将这个jo输出到文件中
FileWriter writer=new FileWriter(js文件);
writer.write(jo.toString());
writer.flush();
writer.close();
[/quote]
多谢指教,第一次接触这个东西。脑袋有点大,能给个具体的实例看一下么?还在学习中。。。[/quote]
上面的 例子就可以啊 。
把你的数据再写进去。
//第一步先读入js中所有的内容放到String中
BufferedReader reader=new BufferedReader(new FileReader(你的js文件));
StringBuilder sb=new StringBuilder();
String line=null;
while((line=reader.readLine())!=null){
//把换行符去掉
sb.append(line);
}
reader.close();
//第二步把这个sb里面的真正的json内容拿到也就是从第一个"{"到最后一个"}"包括这两个{};
//这个是我们要的
String jsonString=sb.substring(sb.indexOf("{"),sb.lastIndexOf("}")+1);
//接下来给他转换成json-lib里的JSONObject对象
JSONObject jo=JSONObject.fromObject(jsonString);
//接下来你要获得那个属性就用jo.get(String key);
//修改属性使用jo.accumulate(String key,Object value);
更多的使用可以直接google json-lib的使用例子很多
修改完了
直接将这个jo输出到文件中
FileWriter writer=new FileWriter(js文件);
writer.write(jo.toString());
writer.flush();
writer.close();
[/quote]
多谢指教,第一次接触这个东西。脑袋有点大,能给个具体的实例看一下么?还在学习中。。。
//第一步先读入js中所有的内容放到String中
BufferedReader reader=new BufferedReader(new FileReader(你的js文件));
StringBuilder sb=new StringBuilder();
String line=null;
while((line=reader.readLine())!=null){
//把换行符去掉
sb.append(line);
}
reader.close();
//第二步把这个sb里面的真正的json内容拿到也就是从第一个"{"到最后一个"}"包括这两个{};
//这个是我们要的
String jsonString=sb.substring(sb.indexOf("{"),sb.lastIndexOf("}")+1);
//接下来给他转换成json-lib里的JSONObject对象
JSONObject jo=JSONObject.fromObject(jsonString);
//接下来你要获得那个属性就用jo.get(String key);
//修改属性使用jo.accumulate(String key,Object value);
更多的使用可以直接google json-lib的使用例子很多
修改完了
直接将这个jo输出到文件中
FileWriter writer=new FileWriter(js文件);
writer.write(jo.toString());
writer.flush();
writer.close();
Same as eval(String) except that the source of the script is provided as a Reader
Parameters:
reader The source of the script.
Returns:
The value returned by the script.
Throws:
ScriptException - if an error occurrs in script.
NullPointerException - if the argument is null.