Java 如何从Resultset构造数组数组
我正在谷歌图表和API上工作 谷歌可视化烛台图表(GoogleVisualizationCandlestickCharts)希望数据是一组数组,这样才能正常工作 例如下面的格式Java 如何从Resultset构造数组数组,java,Java,我正在谷歌图表和API上工作 谷歌可视化烛台图表(GoogleVisualizationCandlestickCharts)希望数据是一组数组,这样才能正常工作 例如下面的格式 [ [ "2011-08-01", 136.65, 136.96, 134.15, 136.49 ], [ "2011-08-02", 135.26, 135.95, 131.50, 131.85 ], [ "2011-08-05", 132.90, 135.27, 128.30, 135.25 ] ] 这是我从数据库
[
[ "2011-08-01", 136.65, 136.96, 134.15, 136.49 ],
[ "2011-08-02", 135.26, 135.95, 131.50, 131.85 ],
[ "2011-08-05", 132.90, 135.27, 128.30, 135.25 ]
]
这是我从数据库中检索数据的SQL
String selectsql = "select current_day , open_val , high_val , low_val , close_val from historical_data where symbol_name = ?";
while(Rset.next())
{
String current_day = SgxRset.getString("current_day");
String open_val = SgxRset.getString("open_val");
String high_val = SgxRset.getString("high_val");
String low_val = SgxRset.getString("low_val");
String close_val = SgxRset.getString("close_val");
}
你能告诉我如何构造一个数组吗
示例程序
import java.util.ArrayList;
import java.util.List;
import org.json.JSONException;
public class TestJSON {
public static void main(String[] args) throws JSONException {
Employee emp1 = new Employee();
emp1.setName("Ravi");
emp1.setName("20");
Employee emp2 = new Employee();
emp2.setName("Kiran");
emp2.setName("20");
List<Employee> histList = new ArrayList<Employee>();
Object[] arrayResultData = histList.toArray();
}
}
public class Employee {
String name ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
String age ;
}
import java.util.ArrayList;
导入java.util.List;
导入org.json.JSONException;
公共类TestJSON{
公共静态void main(字符串[]args)抛出JSONException{
员工emp1=新员工();
emp1.设定名称(“Ravi”);
emp1.设定名称(“20”);
员工emp2=新员工();
emp2.设定名称(“基兰”);
emp2.设定名称(“20”);
List histList=new ArrayList();
对象[]arrayResultData=histList.toArray();
}
}
公营雇员{
字符串名;
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
公共字符串getAge(){
回归年龄;
}
公共无效设置(字符串期限){
这个。年龄=年龄;
}
弦年龄;
}
我推荐一个列表。您不知道您的列是什么以及有多少列:
List<HistData> histList = new ArrayList<HistData>();
//.. query db
while(Rset.next()){
HistData histData = new HistData();
histData.setCurrentDay( SgxRset.getString("current_day"));
histData.setOpenVal( SgxRset.getString("open_val"));
histData.setHighVal( SgxRset.getString("high_val"));
histData.setLowVal( SgxRset.getString("low_val"));
histData.setCloseVal( SgxRset.getString("close_val"));
histList.add(histData);
}
创建一个类,该类将使用getter和setter将所有这些数据保存在一个对象中,如下所示:
public class Data {
private String current_day;
private double open_val;
private double high_val;
private double low_val;
private double close_val;
public Data(String current_day, double open_val, double high_val,
double low_val, double close_val) {
this.current_day = current_day;
this.open_val = open_val;
this.high_val = high_val;
this.low_val = low_val;
this.close_val = close_val;
}
public String getCurrent_day() {
return current_day;
}
public void setCurrent_day(String current_day) {
this.current_day = current_day;
}
public double getOpen_val() {
return open_val;
}
public void setOpen_val(double open_val) {
this.open_val = open_val;
}
public double getHigh_val() {
return high_val;
}
public void setHigh_val(double high_val) {
this.high_val = high_val;
}
public double getLow_day() {
return low_val;
}
public void setLow_day(double low_day) {
this.low_val = low_day;
}
public double getClose_day() {
return close_val;
}
public void setClose_day(double close_day) {
this.close_val = close_day;
}
}
现在,将数据存储在从SQL获取的对象数组中
String selectsql = "select current_day , open_val , high_val , low_val ,close_val from historical_data where symbol_name = ?";
List<Data> myList = new ArrayList(Data);
while(Rset.next())
{
String current_day = SgxRset.getString("current_day");
String open_val = SgxRset.getString("open_val");
String high_val = SgxRset.getString("high_val");
String low_val = SgxRset.getString("low_val");
String close_val = SgxRset.getString("close_val");
Data data = new Data(current_day,open_val,high_val,low_val,close_val);
myList.add(data);
}
使用列表和toArray方法
String selectsql = "select current_day , open_val , high_val , low_val , close_val from historical_data where symbol_name = ?";
List<String[]>resultData = new ArrayList<Stirng[]>();
while(Rset.next())
{
String[] array = new String[5];
array[0] = SgxRset.getString("current_day");
array[1] = SgxRset.getString("open_val");
array[2] = SgxRset.getString("high_val");
array[3] = SgxRset.getString("low_val");
array[4] = SgxRset.getString("close_val");
}
Object[] arrayResultData = resultData.toArray();
String selectsql=“从历史数据中选择当前日期、打开值、高值、低值、关闭值,其中符号\名称=?”;
ListresultData=new ArrayList();
while(Rset.next())
{
String[]数组=新字符串[5];
数组[0]=SgxRset.getString(“当前日”);
数组[1]=SgxRset.getString(“open_val”);
数组[2]=SgxRset.getString(“高值”);
数组[3]=SgxRset.getString(“low_val”);
数组[4]=SgxRset.getString(“close_val”);
}
对象[]arrayResultData=resultData.toArray();
使用多维数组怎么样?我认为这不是数组的数组。它有一个字符串,其他为浮点值。如果不知道将有多少行,则不需要数组,因为无法调整数组大小-需要数组列表或类似的内容。您尝试过什么?你被卡在哪一部分?返回数组的JSON数组,用Java创建数据结构?还有什么?用Java创建一个数据结构,但仍然是如何从列表中构造这种类型的数组??请看我问题的编辑部分我已经创建了一个示例部分,我如何以google图表所期望的形式显示它??谢谢,但它同样知道erguant提到了什么??它有什么不同?是的,它是一样的,但是,当我写答案的时候,有人已经回答了。我认为,创建数组数组在这里是一个问题。您需要创建一个看起来像数组数组的字符串。我个人在谷歌可视化公司工作过。我想上面编辑的代码会对你有所帮助。谢谢!请告诉我发生了什么事!它创建了一个空数组[]
String a = "[ ";
for (int i = 0; i < myList.size(); i++) {
String b = "[ \"" + myList.get(i).getCurrent_day() + "\" , "
+ myList.get(i).getOpen_val() + "],";
if(i==myList.size() -1)
a += b;
else
a += b+",";
}
a += " ]";
[ [ "2011-08-01" , 136.65],[ "2011-08-02" , 135.26] ]
String selectsql = "select current_day , open_val , high_val , low_val , close_val from historical_data where symbol_name = ?";
List<String[]>resultData = new ArrayList<Stirng[]>();
while(Rset.next())
{
String[] array = new String[5];
array[0] = SgxRset.getString("current_day");
array[1] = SgxRset.getString("open_val");
array[2] = SgxRset.getString("high_val");
array[3] = SgxRset.getString("low_val");
array[4] = SgxRset.getString("close_val");
}
Object[] arrayResultData = resultData.toArray();