Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java+;BigQuerie如何获得正确的JSON而不是一些字段值列表?_Java_Json_Google Bigquery - Fatal编程技术网

Java+;BigQuerie如何获得正确的JSON而不是一些字段值列表?

Java+;BigQuerie如何获得正确的JSON而不是一些字段值列表?,java,json,google-bigquery,Java,Json,Google Bigquery,我是BigQuery新手,尝试从测试表中获取一些值。有三列:ID、DateTime和String。将当前时间(以毫秒为单位)作为ID、当前时间(以UTC为单位)和当前时间(以毫秒为单位)作为字符串填充某些行,因此该行如下所示: 1480419755489 | 2016-11-29 11:42:35 UTC |来源14804197554881 BigQuery控制台中的Json如下所示: { “ID”:“1480419755489”, “日期时间”:“2016-11-29 11:42:35 UTC

我是BigQuery新手,尝试从测试表中获取一些值。有三列:ID、DateTime和String。将当前时间(以毫秒为单位)作为ID、当前时间(以UTC为单位)和当前时间(以毫秒为单位)作为字符串填充某些行,因此该行如下所示:

1480419755489 | 2016-11-29 11:42:35 UTC |来源14804197554881

BigQuery控制台中的Json如下所示:

{ “ID”:“1480419755489”, “日期时间”:“2016-11-29 11:42:35 UTC”, “字符串”:“源14804197554881” }

一切似乎都很好。但在Java中,当我尝试获取这一行时,我得到了一些不好的结果,看起来像:

[FieldValue{attribute=PRIMITIVE,value=1480419755489},FieldValue{attribute=PRIMITIVE,value=1.4804419755E9},FieldValue{attribute=PRIMITIVE,value=Source 14804197554881}]


注意,输出中没有列名,只有一些属性;DateTime以X.YYEZ的形式显示为毫秒。这是否可以以某种方式修复,或者这就是它的显示方式?我需要解析响应中的每个值吗?对于我得到的每一行,我必须创建新的Json对象并向其写入值吗?或者我应该创建一个像MyRow这样的类,该类具有正确的数据类型,并且查询结果将以某种方式向类的对象写入正确的值

将回答我自己的问题。这些字段值是映射。所以我用了这样的方法: 使用所需的数据类型创建了my类MyRow。 像这样解析我从BigQuery获得的每一行:

MyRow myRow = new MyRow();
myRow.setID(Integer.parseInt(row.get(0).stringValue()));
myRow.setDateTime(new Date(new BigDecimal(row.get(1).stringValue()).longValue()));
myRow.setString(row.get(2).stringValue());
看看我得到了什么:

Gson gson = new Gson();
System.out.println(gson.toJson(myRow));