2014-10-11 157 views
0

我的工作NVD3圖上哪裏需要創建圖表如下JSON數據:創建JSON數據NVD3圖使用Java

[{ 
    "key" : "North America" , 
    "values" : [ [ 1025409600000 , 23.041422681023] , [ 1028088000000 , 19.854291255832] ] 
}, 

{ 
    "key" : "Africa" , 
    "values" : [ [ 1025409600000 , 23.041422681023] , [ 1028088000000 , 19.854291255832] ] 
}, 

{ 
    "key" : "South America" , 
    "values" : [ [ 1025409600000 , 23.041422681023] , [ 1028088000000 , 19.854291255832] ] 
}] 

會有人請幫我使用Java,因爲我想創建上面創建JSON數據這個結構自從最近3個小時還沒有成功。

這裏是Plunker鏈接:Stacked Area Chart NVD3

這裏是我想在Java創建實時JSON數據例如:JSON example data

+0

我不確定NVD3是否適用於Java!還是你的意思是JavaScript? – shabeer90 2014-10-12 20:07:45

+0

謝謝。我正在服務器上進行AJAX調用,並將JSON響應發送回客戶端HTML並呈現數據以創建圖表。它與我在服務器上創建的字符串數據(Java)一起發送回客戶端。唯一的問題是製作上面的結構JSON數據。 – user3468976 2014-10-12 21:50:21

+0

我看到你不理解我的問題,無理由投了反對票。你有沒有在Java工作?不知道你的意思是NVD3不能在Java中工作,我必須用AJAX數據代替AJAX調用服務器。你能否告訴我有理由給予反對票? – user3468976 2014-10-12 22:48:58

回答

1

這裏是解決方案發現自己:

import org.json.JSONArray; 
import org.json.JSONObject; 

public class CreateNVD3JSONDataJava { 

public static void main(String[] args) { 

    JSONObject jo = new JSONObject(); 
    jo.put("values", new JSONArray(new Long[][]{{1025409600000L,23L},{1028088000000L,19L},{1030766400000L,21L},{1033358400000L,22L}}));  
    jo.put("key", "North America");  

    JSONArray ja = new JSONArray(); 
    ja.put(jo); 
    ja.put(jo); 
    ja.put(jo); 

    System.out.println(ja); 
    } 
} 
+0

除了你需要在「現實生活中」三個'jo'對象,因爲值會有所不同。不要在使用單個對象時發生錯誤,並在「put」操作之間進行更改,因爲您將更改已經「放入」的值。 – 2014-10-15 03:02:10

+0

我完全同意。謝謝!我編輯過的代碼如下: – user3468976 2014-10-15 03:18:02

+0

(令人驚訝的是,構建JSON時,重複使用單個對象/數組的錯誤頻率很高。) – 2014-10-15 03:22:26

0

編輯代碼:

import org.json.JSONArray; 
import org.json.JSONObject; 

public class CreateNVD3JSONDataJava { 

public static void main(String[] args) { 

    JSONArray ja = new JSONArray(); 

    JSONObject jo = new JSONObject(); 
    jo.put("values", new JSONArray(new Long[][]{{1025409600000L,23L},{1028088000000L,19L},{1030766400000L,21L},{1033358400000L,22L}}));  
    jo.put("key", "North America"); 
    ja.put(jo); 

    jo = new JSONObject(); 
    jo.put("values", new JSONArray(new Long[][]{{1025409600000L,23L},{1028088000000L,19L},{1030766400000L,21L},{1033358400000L,22L}}));  
    jo.put("key", "Africa"); 
    ja.put(jo); 

    jo = new JSONObject(); 
    jo.put("values", new JSONArray(new Long[][]{{1025409600000L,23L},{1028088000000L,19L},{1030766400000L,21L},{1033358400000L,22L}}));  
    jo.put("key", "South America"); 
    ja.put(jo);   

    System.out.println(ja); 

    } 
} 

輸出:

[ 
{ 
    "values": [ 
     [ 
      1025409600000, 
      23 
     ], 
     [ 
      1028088000000, 
      19 
     ], 
     [ 
      1030766400000, 
      21 
     ], 
     [ 
      1033358400000, 
      22 
     ] 
    ], 
    "key": "North America" 
}, 
{ 
    "values": [ 
     [ 
      1025409600000, 
      23 
     ], 
     [ 
      1028088000000, 
      19 
     ], 
     [ 
      1030766400000, 
      21 
     ], 
     [ 
      1033358400000, 
      22 
     ] 
    ], 
    "key": "Africa" 
}, 
{ 
    "values": [ 
     [ 
      1025409600000, 
      23 
     ], 
     [ 
      1028088000000, 
      19 
     ], 
     [ 
      1030766400000, 
      21 
     ], 
     [ 
      1033358400000, 
      22 
     ] 
    ], 
    "key": "South America" 
    } 
]