Javascript 我可以用哪种方式将CSV文件发送到某个地方,然后进行一些处理,然后返回json数据?

Javascript 我可以用哪种方式将CSV文件发送到某个地方,然后进行一些处理,然后返回json数据?,javascript,php,tomcat,d3.js,server,Javascript,Php,Tomcat,D3.js,Server,我正在做dc.js可视化数据和d3部队布局。DCJS是基于D3和CouthFixter的,DC可以处理CSV文件作为输入文件,但是D3力布局只能考虑JSON文件作为输入文件。所以我想用java程序将CSV文件发送到一些地方,将CSV文件转换成json文件,然后使用将其发送回d3 force layout。我尝试过php和javaEE来构建网页。但是d3.js和dc.js不能加载到apache服务器和tomcat服务器上。 index.html是主页面 我的问题是如何做到这一点,这些服务器是否

我正在做dc.js可视化数据和d3部队布局。DCJS是基于D3和CouthFixter的,DC可以处理CSV文件作为输入文件,但是D3力布局只能考虑JSON文件作为输入文件。所以我想用java程序将CSV文件发送到一些地方,将CSV文件转换成json文件,然后使用将其发送回d3 force layout。我尝试过php和javaEE来构建网页。但是d3.js和dc.js不能加载到apache服务器和tomcat服务器上。

index.html是主页面


我的问题是如何做到这一点,这些服务器是否有问题?

请查看此块:。您将看到<代码> d3.cv函数在运行。

“D3力布局只能考虑JSON文件作为输入文件”这是错误的。您当然可以创建一个基于CSV文件的力定向。请查看此处的链接。我需要csv文件中的数据,我需要进行一些提取。好吧,我建议你在csv中发布一个问题,以及你在使用该csv创建部队时所面临的问题。你是否阅读了我下面的答案,并投了反对票?您的问题的根本原因是您说force布局无法处理CSV文件。这是不正确的,我链接的块正是一个示例,它显示了如何将csv提供给force布局。在服务器端进行转换太过分了:d3.js提供了在csv和json之间进行转换所需的一切。不,我没有否决你的答案。我投票赞成你的回答。我不知道你的答案为什么一直在下降。不,我没有投票反对你的答案。我投票赞成你的回答。我不知道为什么你的答案一直在下降。
        <script src="JS/jquery-3.2.1.min.js" type="text/javascript"></script>
    <script src="JS/crossfilter-master/crossfilter.js" type="text/javascript"></script>         
    <script src="JS/d3-3.5.17/d3.js" type="text/javascript"></script>
    <script src="JS/dc.js-2.0.2/dc.js" type="text/javascript"></script>
    <script src="JS/d3-queue/d3-queue.js" type="text/javascript"></script>
$('#files').change(function(){
var q = d3.queue();
var fileNames = "";
for(var i = 0; i < this.files.length; i++){
    fileNames += ", " + this.files[i].name;
    q.defer(d3.csv, this.files[i].name);
}
q.awaitAll(drawDC);
$.get("http://localhost:8080/Charting/ChartingServlet?files="+fileNames, drawForceLayout);
// drawForceLayout('data.json');
$("#fileNames").html('');
if(this.files.length > 1)
    $("#fileNames").html(fileNames.substring(2));
});

function drawForceLayout(jsonFile){
    //start to draw
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    if(request.getParameterMap().containsKey("files")) {
        String files = request.getParameter("files");
        System.out.println(files.toString());

        ////call the java program to convert CSV files to json then sent the file name or the content back.

        response.setHeader("Content-type", "text/html;charset=UTF-8");
        response.getWriter().append("data.json");
    }
}