我有一個用於REST通信的spring-MVC。這是控制器:Spring MVC:解析JSON文檔時出現錯誤
@RestController
@RequestMapping("/db")
public class RestController {
@Inject
private EmpRepositoryImpl empRepository;
@RequestMapping(value = "/{tableName}.json", method = RequestMethod.GET, produces = "application/json")
public String getTableRecords( @PathVariable String tableName){
List<Map<String, Object>> resultList = empRepository.getAllEmpRecords(tableName);
return resultList.toString();
}
}
,結果我在Firefox中得到是這樣的:
There was an error parsing the JSON document. The document may not be well-formed.
expected property name or '}' at line 1 column 3
[{nodeID=0, neo_eb_id=11, neo_eb_bossID=11, neo_eb_name='Smith'}, {nodeID=1, neo_eb_id=12, neo_eb_bossID=11, neo_eb_name='Johnson'}, {nodeID=2, neo_eb_id=13, neo_eb_bossID=11, neo_eb_name='Roberts'}, {nodeID=3, neo_eb_id=14, neo_eb_bossID=13, neo_eb_name='Doe'}]
什麼似乎是與彈簧產生這個JSON格式的問題?
如何顯示這個結果在JSON可以與縮進和突出的東西,因爲它需要在其他地方的JSON我用Firefox打開顯示在養眼的語法?
你爲什麼使用resultList.toString()方法?你爲什麼不從這個方法返回一個列表,並讓傑克遜或你正在使用的庫轉換它?我寧願從控制器方法中返回resultList。 – RE350 2014-11-08 19:26:18
嗯,我認爲如果我聲明'produce =「application/json」',那麼spring將使'json不在'getTableRecords'中。 我不能只是返回一個列表,因爲它是。你是什麼意思返回一個列表? – Szczepan 2014-11-08 20:11:27