2016-10-03 69 views
-4

我有一個300個URL的列表,提供JSON格式的查詢結果。我需要把這個列表解析成Excel可以讀取並創建表格的一個文件。所有結果的模式都是相同的,所以我需要的是一個文件中每個鏈接的所有輸出。提前致謝!!!解析多個JSON結果到一個文件中

+0

你問如何合併多個json數據到一個?或者你問如何將這個json數據寫入文件?還是你問兩個? – RockOnGom

+1

這真的不是一個問題,但谷歌「JSON到Excel在線」,你會發現很多選擇,以滿足您的需求,除非你真的想以編程方式做到這一點,在這種情況下,我們需要更多的信息。贊同模式 – DelightedD0D

+0

Java和jQuery在一個問題中似乎很奇怪。你的意思是* javascript *和jquery? –

回答

0

對於以下解決方案,您將需要jackson-databind,jackson-core,jackson-annotaions。確保所有3個罐子的版本相同。

創建一個類,其變量類似於JSON.E.g.中的「鍵」如果JSON是

{"name" : "test", "age" : 100} 

那麼類將是:

public class User{ 
    private String name; 
    private int age; 
    public String getName() { 
     return name; 
    } 
    public void setName(String name) { 
     this.name = name; 
    } 
    public int getAge() { 
     return age; 
    } 
    public void setAge(int age) { 
     this.age= age; 
    } 
} 

主要方法是:

import User; 
import com.fasterxml.jackson.databind.ObjectMapper; 

public class Test {  
    public static void main(String[] args) { 
    ObjectMapper mapper = new ObjectMapper(); 
    User userObj = mapper.readValue(new URL("http://test.com"), User.class); 
} 

多個URL,創建用戶類的對象的列表,然後在excel中存儲。

嘗試鏈接:http://www.mkyong.com/java/jackson-2-convert-java-object-to-from-json/瞭解更多信息。

0

對於JSON,您需要像上面的第一個答案那樣定義Class。所以如果JSON結構複雜,定義類也是一種壓力。我建議你應該使用JSON的正則表達式。

String pattern = "[\\h\\v\\u005B\\u005D\\u007B\\u007D\\u002C\\u003A]*[\\u005B\\u005D\\u007B\\u007D\\u002C\\u003A][\\h\\v\\u005B\\u005D\\u007B\\u007D\\u002C\\u003A]*|" 
         // String type 
         + "(?:[\\u0022][^\\u0022]*[\\u0022])|" 
         // Numeric type 
         + "[0-9.e-]+|" 
         // Boolean type and null for numeric type 
         + "(?:(?i)true|false|null)"; 

您可能會懷疑,如果上述工程正則表達式,然後在www.mysplitter.com點擊這裏查看(myblog)和測試代碼(不是商業的東西),而且整個源(非常容易理解)就在這裏enter link description here