diff --git a/webmagic-extension/src/main/java/us/codecraft/webmagic/pipeline/BatchJsonFilePipeline.java b/webmagic-extension/src/main/java/us/codecraft/webmagic/pipeline/BatchJsonFilePipeline.java
new file mode 100644
index 000000000..35a191e4e
--- /dev/null
+++ b/webmagic-extension/src/main/java/us/codecraft/webmagic/pipeline/BatchJsonFilePipeline.java
@@ -0,0 +1,106 @@
+package us.codecraft.webmagic.pipeline;
+
+import com.alibaba.fastjson.JSON;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import us.codecraft.webmagic.ResultItems;
+import us.codecraft.webmagic.Task;
+import us.codecraft.webmagic.utils.FilePersistentBase;
+
+import java.io.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.*;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * Store results to files in JSON format.
+ *
+ * @author zhanglubing927@163.com
+ * @since 0.7.3
+ */
+public class BatchJsonFilePipeline extends FilePersistentBase implements Pipeline, Closeable {
+
+ private Logger logger = LoggerFactory.getLogger(getClass());
+
+ private boolean running;
+ private int batchSize;
+
+ private BlockingQueue