Java 每秒执行JSON对象的HTTP post
在构建json对象之后,我必须每秒用java编写一篇HTTP文章。 json对象是通过读取一个巨大的CSV文件(200Mbs+)构建的,所以我的问题是 如何读取x行数构建x对象并每秒发布一次(因为不可能在一秒钟内解析整个200mb文件),然后继续读取下一个x行 请告诉我你的想法Java 每秒执行JSON对象的HTTP post,java,json,http,csv,Java,Json,Http,Csv,在构建json对象之后,我必须每秒用java编写一篇HTTP文章。 json对象是通过读取一个巨大的CSV文件(200Mbs+)构建的,所以我的问题是 如何读取x行数构建x对象并每秒发布一次(因为不可能在一秒钟内解析整个200mb文件),然后继续读取下一个x行 请告诉我你的想法 我是否可以使用Java timer类,继续读取CSV文件,同时每秒将json对象与格式的json一起发布到服务器?每秒读取、解析、转换和发送一个200 MB的文件几乎是不可能的 因此,您需要更改您的设计: 我的建议是只发
我是否可以使用Java timer类,继续读取CSV文件,同时每秒将json对象与格式的json一起发布到服务器?每秒读取、解析、转换和发送一个200 MB的文件几乎是不可能的 因此,您需要更改您的设计: 我的建议是只发送更改的行,如下所示:
{
"1" : {"field1":"value1","field2":"value2"},
"17" : {"field1":"value1","field2":"value2"}
}
这当然会给你带来新的问题:
客户端需要找出哪些行已更改,服务器需要将更改的行与现有数据集成。我会根据文件大小而不是时间来确定
BufferedReader fin = null; //create it
Gson gson=new Gson(); //Google code open source library for JSON in Java
ArrayList<JSONObject> jsonList=new ArrayList<JSONObject>();
while (((line = fin.readLine()) != null)) {
if ( line.length()==0 ){
//"Blank line;
}else{
currJSON=loadJSON(line);//You have to load it in a Java Object
if ( jsonList.size()<MAX_JSON){
jsonList.add(currJSON);
}
if (JsonList.size()==MAX_JSON){ //Define the maximum size of the list you want to post
gson.toJson(jsonList); //Convert to JSON
//You should post your Json with some Http Connection to your server
jsonList.clear();
BufferedReader-fin=null//创造它
Gson Gson=新的Gson()//Java中JSON的Google代码开放源代码库
ArrayList jsonList=新的ArrayList();
而(((line=fin.readLine())!=null)){
if(line.length()==0){
//“空白行;
}否则{
currJSON=loadJSON(line);//必须将其加载到Java对象中
if(jsonList.size()