javascript - 我可以使用 SQL 查询显示 JSON 数据吗?
问题描述
我可以使用 SQL 查询显示 JSON 数据吗?
下面的部分是我当前的 JSON 数据:
[
{
"id":"BKU0000007",
"judul":"jsjsj",
"no_isbn":"ssksk",
"penulis":"jsjsj",
"penerbit":"iieie",
"tahun_terbit":"2011",
"halaman":"202",
"berat":"220",
"cover":"20202",
"dimensi":"0202",
"kategori":"Horor",
"bahasa":"2020",
"stok":"22020",
"gambar":"BKU0000007.jpeg",
"harga":"333",
"sinopsis":"0202022"
},
{
"id":"BKU0000006",
"judul":"sshhs",
"no_isbn":"3i3i3i",
"penulis":"ssiis",
"penerbit":"oo3o3",
"tahun_terbit":"2009",
"halaman":"20",
"berat":"10000",
"cover":"alks",
"dimensi":"20x30",
"kategori":"",
"bahasa":"skks",
"stok":"20",
"gambar":"BKU0000006.jpeg",
"harga":"29999",
"sinopsis":"skkssk"
}
]
[
{
"id":"BKU0000007",
"judul":"jsjsj",
"no_isbn":"ssksk",
"penulis":"jsjsj",
"penerbit":"iieie",
"tahun_terbit":"2011",
"halaman":"202",
"berat":"220",
"cover":"20202",
"dimensi":"0202",
"kategori":"Horor",
"bahasa":"2020",
"stok":"22020",
"gambar":"BKU0000007.jpeg",
"harga":"333",
"sinopsis":"0202022"
},
{
"id":"BKU0000006",
"judul":"sshhs",
"no_isbn":"3i3i3i",
"penulis":"ssiis",
"penerbit":"oo3o3",
"tahun_terbit":"2009",
"halaman":"20",
"berat":"10000",
"cover":"alks",
"dimensi":"20x30",
"kategori":"",
"bahasa":"skks",
"stok":"20",
"gambar":"BKU0000006.jpeg",
"harga":"29999",
"sinopsis":"skkssk"
}
]
我想使用 SQL 查询生成这些数据,例如:
SELECT * FROM 数据等...
我怎样才能完成这项任务?有人可以指导我完成这个吗?
感谢您花时间和耐心解决此问题。
解决方案
我可以建议如下:
a) 你需要使用 ObjectMapper 对象
b) 调用 ObjectMapper 对象的 writeValueAsString(object)
c) 要使用 ObjectMapper,您需要在类路径中有 jackson core、jackson annotation、jackson databind jar
示例示例:我创建示例类来模拟您的解决方案代码如下:
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
class Example{
int id;
String name;
public Example(int id, String name) {
super();
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class MainApp {
public static void main(String[] args) throws JsonProcessingException {
List<List<Example>> list=new ArrayList<List<Example>>();
List<Example> exampleList1=new ArrayList<>();
exampleList1.add(new Example(1,"A"));
list.add(exampleList1);
List<Example> exampleList2=new ArrayList<>();
exampleList2.add(new Example(1,"B"));
list.add(exampleList2);
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
String writeValueAsString = mapper.writeValueAsString(list);
System.out.println(writeValueAsString);
}
}
输出:
[[{"id":1,"name":"A"}],[{"id":1,"name":"B"}]]
您用示例类替换您的属性。
(如果您有 dao 代码,那么您需要在调用 sql 查询并获取结果后从 dao 层准备示例对象列表列表)
希望你明白了!!
推荐阅读
- shell - 远程命令的 ssh 结果
- c# - 防止数据网格在 C# 中加载实体框架导航属性
- kubernetes - 如何为任何 k8s 对象创建样板
- angular - 我可以使用 angular 7 的 gsap 或anime.js 吗?如果可以,那么如何?
- rspec - 使用令牌和 SimpleTokenAuthentication 测试登录用户失败,因为 SimpleTokenAuthentication 未登录用户
- python - Passing method name as function argument
- django - Django 2 将自定义按钮添加到管理员
- javascript - 使用脚本添加类
- mysql - SQL附加其他表的行
- sql - VBA SQL 聚合备注字段