2012-03-27 9 views
0

verwenden Kann mir bitte jemand helfen zu verstehen, wie ich auf JSON-Daten in js zugreifen soll. JSP-struts-Code für den Zugriff. Ich benutze Struts2, JSON, Dojo. Aber Problem beim Zugriff auf die Daten.wie json Daten in Dojo

var chartData = dojo.xhrGet({ 
     url : "getJSONResult", 
     handleAs : "json", 
     preventCache : false, 
     load : function(data) { 
      //how to process 

     } 
    }); 

mein struts.xml

<package name="json" namespace="/" extends="json-default"> 
    <action name="getJSONResult" method="execute" 

class="uk.co.bandc.businessmonitor.web.controller.ShowTransactionAction"> 
     <result type="json" /> 
    </action> 
</package> 

Meine Action-Klasse

package uk.co.bandc.businessmonitor.web.controller; 

import com.opensymphony.xwork2.ActionSupport; 

public class ShowTransactionAction extends ActionSupport { 
/** 
* 
*/ 
private static final long serialVersionUID = 1L; 

int[] numberarray1 = { 10000, 9200, 11811, 12000, 7662, 13887, 14200, 12222, 12000,  
10009, 11288, 12099 }; 

public String execute() { 

    return SUCCESS; 
} // End execute() 

public int[] getNumberarray1() { 
    return numberarray1; 
} 

public void setNumberarray1(int[] numberarray1) { 
    this.numberarray1 = numberarray1; 
} 

} // End class 
+0

Bitte korrigieren Sie die Code-Formatierung, danke. – bernie

+0

Worin besteht das Problem? enthalten die Daten in Ihrer AJAX-Callback-Funktion nicht den JSON? Wenn ja, testen Sie zuerst, wenn Sie auf Ihre Aktion zugreifen, indem Sie eine URL verwenden, die in den Browser-Speicherort eingegeben wurde. Erhalten Sie die JSON-Daten im Browser zurück? –

+0

Ja, wenn ich auf http://127.0.0.1:8080/bizmon-web-user/getJSONResult zugreife, bekomme ich das Ergebnis {"numberarray1": [10000,9200,11811,12000,7662,13887,14200,12222,12000, 10009,11288,12099]}. Ich möchte die Werte im Array als Eingabe für ein Diagramm verwenden. Aber nicht sicher, wie das geht. – JavaOyeOye

Antwort

0

Welche Art von Diagramm möchten Sie zeichnen? Ihre Daten scheinen eindimensional zu sein. Typisch für ein kartesisches Diagramm (Balken, Linien usw.) benötigen Sie 2-dimensionale Daten, zum Beispiel:

var exampleData = 
[ 
{ time: 10, count: 7382 }, 
{ time: 20, count: 1852 }, 
{ time: 35, count: 2397 }, 
{ time: 50, count: 1442 }, 
{ time: 55, count: 1854 } 
]; 

Sie können dann die dojox.charting.Chart2D verwenden Sie das Diagramm

Siehe http://dojotoolkit.org/documentation/tutorials/1.6/charting/ für Beispiele zu machen

+0

Wenn Sie auf der Seite http://dojotoolkit.org/documentation/tutorials/1.6/charting/ monatliche Verkäufe Tortendiagramm mit Slice sehen, können Sie sehen var chartData = [10000,9200,11811,12000,7662,13887,14200 , 12222,12000,10009,11288,12099]; verwendet werden. Meine Frage ist, wie diese Daten verwendet werden, wenn ich diese Daten vom Server im Format {"numberarray1": [10000,9200,11811,12000,7662,13887,14200,12222,12000,10009,11288, 12099]} – JavaOyeOye

+0

haben Sie versucht: chart.addSeries ("SalesThisDecade", data.numberarray1); –

+0

Yah ist es jetzt gelöst. Vielen Dank. Eigentlich habe ich etwas falsch gemacht in Bezug auf die Syntax und es ist jetzt gelöst. – JavaOyeOye