【求助】java类去js中的数据

qq_38780989 2017-07-20 07:58:17
刚找到工作,现在项目里JAVA类中要用到js中的数据,
js内容是这样的
我主要需要里面的geoCoord,怎么把它取出来存到数组或者list中,我的初步想法是把js当文件读取,但是这样的话涉及到注释过滤,还有不知道怎么存,后来又查资料发现js引擎。但是没太看懂。。麻烦大神们给点思路。。geoCoord里面是坐标,我需要里面的x和y。。
...全文
254 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38780989 2017-07-24
  • 打赏
  • 举报
回复
引用 6 楼 qq_15824553 的回复:
既然是个数据 直接放到.json 或者.xml文件里啊 为什么一定呀放在js里面。
这个。公司项目,我还没任何发言权的啊,
110成成 2017-07-21
  • 打赏
  • 举报
回复
可以利用文件读取js中数据内容,然后转json解析。这样可以不通过web走http去请求。
var activity_data = {
	"53042801" : [ {
		"name" : "",
		"geoGoord" : [ 200, 350 ],
		"value" : 1
	}, {
		"name" : "",
		"geoGoord" : [ 360, 580 ],
		"value" : 1
	} ],
	"53042802" : [ {
		"name" : "",
		"geoGoord" : [ 60, 250 ],
		"value" : 1
	}, {
		"name" : "",
		"geoGoord" : [ 290, 230 ],
		"value" : 1
	} ]
};
package com;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class test1 {
	@SuppressWarnings("unchecked")
	public static void main(String[] args) throws IOException {
		BufferedReader reader = new BufferedReader(new FileReader(
				"E:\\Test1\\src\\com\\js.js"));
		// 获取js中的数据内容
		StringBuilder sb = new StringBuilder();
		String line = null;
		while ((line = reader.readLine()) != null) {
			sb.append(line);
		}
		reader.close();

		// 解析数据内容,获取json数据,具体情况具体解析
		String jsonString = sb.substring(sb.indexOf("{"),
				sb.lastIndexOf("}") + 1);
		JSONObject jo = JSONObject.fromObject(jsonString);
		Iterator it = jo.keys();
		while (it.hasNext()) {
			String key = (String) it.next();
			String value = jo.getString(key);
			JSONArray json = JSONArray.fromObject(value);
			for (int i = 0; i < json.size(); i++) {
				JSONObject job = json.getJSONObject(i);
				System.out.println(job.getString("geoGoord"));

			}
		}

	}
}
mmqw 2017-07-21
  • 打赏
  • 举报
回复
将js文件用的数据读取出来 然后转成json数据,在进行解析就可以了
		public static String getFileContent(File f) throws Exception
	{
		FileInputStream input=new FileInputStream(f);
		ByteArrayOutputStream out=new ByteArrayOutputStream();
		
		byte[] b=new byte[1024*5];
		int n=0;
		while((n=input.read(b))>=0)
		{
			out.write(b, 0, n);
		}
		return out.toString("UTF-8");
	}
	
	public static void main(String[] args)
	{
		try
		{
			String content=getFileContent(new File("c:/11.js"));//js物理路径 读取js内容
			System.out.println(content);
			String data=content.split("=")[1];
			JSONObject json=new JSONObject(data);
		} catch (Exception e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
那年花 2017-07-21
  • 打赏
  • 举报
回复
JSON数据只有你弄一个对应的实体类 他会自动识别的 例如 前端请求的JSON数据
      var vo = {
                id:id,
                name:temName,
               
            }
            var url = "/save.do";
            $.ajax({
                url : url,
                type : 'post',
                contentType: "application/json",
                data :JSON.stringify(vo),
                success:function(){
                    $.MsgBox.Alert("保存成功");
    
                },
                error:function(){
                    $.MsgBox.Alert("保存失败");
                }
            });
后端接收的代码
 @RequestMapping(value = "/save.do")
    @ResponseBody
    public String save(@RequestBody FarmTemplate vo) {
        JSONObject json = new JSONObject();
        try {
            if (null == vo.getId()) {
               fService.save(vo);
            } else {
               fService.edit(vo);
            }
            requestSucc(json);
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            requestFail(json, e);
        }
        return json.toString();
    }
他会识别vo这个实体类的属性自动拼接的
RockeyCui 2017-07-21
  • 打赏
  • 举报
回复
既然是个数据 直接放到.json 或者.xml文件里啊 为什么一定呀放在js里面。
qq_38780989 2017-07-20
  • 打赏
  • 举报
回复
引用 1 楼 qq_38740863 的回复:
这个数据看格式就是json的数据格式 你可以先将数据读到页面上 然后再在页面用json获取对象中的属性和获取数组中的元素的方法将数据读出来,再发送请求将数据当做参数发送到后台
我是在一个JAVA工具类用到。在页面处理发送的话不太好复用,有没有什么办法直接在JAVA类里读取,JAVAjs引擎我查到的基本都是用方法的,可以只取数据么。。或者文件读取存List的话怎么存,我自己想的的话那个list感觉好复杂,而且不知道怎么取数据,,希望能给详细讲解一下,刚毕业的小白,第一份工作,想努力做好
strong_mz 2017-07-20
  • 打赏
  • 举报
回复
这个数据看格式就是json的数据格式 你可以先将数据读到页面上 然后再在页面用json获取对象中的属性和获取数组中的元素的方法将数据读出来,再发送请求将数据当做参数发送到后台

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧