以下是3种JSON数组结构格式......
第一个,JSON.org上概述的那个,是我熟悉的那个:
格式#1
{"People": [
{
"name": "Sally",
"age": "10"
},
{
"name": "Greg",
"age": "10"
}
]}
第二个是略微变化,它命名数组的元素。我个人并不关心它;你没有在代码中命名数组的元素(它们是通过索引访问的),为什么要用JSON命名它们?
格式#2
{"People": [
"Person1": {
"name": "Sally",
"age": "10"
},
"Person2": {
"name": "Greg",
"age": "10"
}
]}
最后一个是另一种变体,非常类似于格式#2 ,但我有一个预感,这个是不正确的,因为它似乎有一些额外的花括号,而不属于它们。
格式#3
{"People": [
{
"Person1": {
"name": "Sally",
"age": "10"
}
},
{
"Person2": {
"name": "Greg",
"age": "10"
}
}
]}
同样,我确信格式#1 是有效的,因为它是JSON.org中概述的JSON数组格式。但是,格式#2 和格式#3 呢?那些被认为是有效的JSON吗?如果是,那些格式来自哪里?我没有在JSON.org或维基百科上看到它们。
答案 0 :(得分:7)
#1和#3都是(几乎 - 有逗号丢失)有效的JSON,但编码不同的结构:
#2无效:数组(由[
... ]
定义)可能不包含属性名称。
答案 1 :(得分:1)
格式#1 的解决方案 默认情况下:
final void tabledata(){
int rows=jt.getRowCount();
int colms=jt.getColumnCount();
int bpss=0,spss=0;
for(int i=0;i<colms;i++){
for(int j=0;j<rows;j++) {
if(i==0){
String qtys= jt.getValueAt(j,i).toString();
int qtyss=Integer.parseInt(qtys);
System.out.print(qtyss);
try{stmt.execute("INSERT INTO ITEMS(QTY) VALUES("+qtyss+")");}
catch (SQLException ex) {ex.printStackTrace();}
}else{
if(i==1){
String codes= jt.getValueAt(j,i).toString();
int codess=Integer.parseInt(codes);
System.out.print(codess);
try{stmt.execute("INSERT INTO ITEMS(CODE) VALUES("+codess+")");}
catch (SQLException ex) {ex.printStackTrace();}
} else{
if(i==2){
String names=jt.getValueAt(j,i).toString();
System.out.print(names);
try{stmt.execute("INSERT INTO ITEMS(NAME) VALUES('"+names+"')");}
catch (SQLException ex) {ex.printStackTrace();}
} else{
if(i==3){
String bps= jt.getValueAt(j,i).toString();
bpss=Integer.parseInt(bps);
System.out.print(bpss);
try{stmt.execute("INSERT INTO ITEMS(BUYPRICE) VALUES("+bpss+")");}
catch (SQLException ex) {ex.printStackTrace();}
} else{
if(i==4){
String sps= jt.getValueAt(j,i).toString();
spss=Integer.parseInt(sps);
System.out.print(spss);
try{stmt.execute("INSERT INTO ITEMS(SELLPRICE) VALUES("+spss+")");}
catch (SQLException ex) {ex.printStackTrace();}
}}}}}}}
JSON代码:
array=[];
object={};
JSON结果:
var Json = {
People:[]
};
Json.People.push({
"name": "Sally",
"age": "10"
});
Json.People.push({
"name": "Greg",
"age": "10"
});