我正在尝试从mysql数据库获取数据到一个prolog可以读取的格式的文件中,这个格式类似于json格式,但是我不知道如何进行换行,而且当我上传到mysql数据库时,它会自动保存到文件中。
这段代码是从数据库中提取到一个文件中,但只是在一条直线上,而不是所需的特定格式
JSONArray jObj= new JSONArray();
jObj.add("id->"+id );
jObj.add("faculty->"+faculty );
jObj.add("department->"+department );
jObj.add("capacity-> "+capacity );
jObj.add("type-> "+type );
obj.add(id +":classroom");
obj.add(jObj);
try (FileWriter file = new FileWriter(textName)) {
while(obj.iterator().hasNext())
file.write(obj.toJSONString());
我希望输出是
cmpe025: Classroom
[
location-> cmpe_building,
capacity-> 70 ,
inDepartment-> cmpe_department,
roomNumber-> cmpe025
].
cmpe026: Classroom
[
location-> cmpe_building,
capacity-> 70 ,
inDepartment-> cmpe_department,
roomNumber-> cmpe026
].
但是我得到的实际输出没有换行
{ "Classroom" ["location->"cmpe_building"capacity-> 70,"inDepartment->"cmpe_department, "roomNumber->" cmpe025], ["location->" cmpe_building,"capacity->"70 ,"inDepartment->" cmpe_department, "roomNumber->" cmpe026].
1条答案
按热度按时间kjthegm61#
这是一个作为答案发布的评论,因为这是一个很大的评论,并没有回答问题,它提出了一个更好的解决方案,而不是要求。
如果您希望prolog能够使用您输出的数据,那么将它放在prolog易于使用的方法中;创造事实,例如。
文件名:
classroom.pl
```classroom(cmpe025,cmpe_building,70,cmpe_department).
classroom(cmpe026,cmpe_building,70,cmpe_department).
consult("C:/classroom.pl").
线路
从课堂事实中读出价值观。无需解析数据、重新格式化等。
使用swi-prolog
虽然我不建议您也可以在文件中的一行创建事实,但请确保在一个事实的结尾之间有一个空格
.
下一个事实的开始classroom
,例如。
). classroom(
```classroom(cmpe025,cmpe_building,70,cmpe_department). classroom(cmpe026,cmpe_building,70,cmpe_department).