2016-07-14 75 views
-4

這是代碼:如何從字符串轉換成JSON格式春季REST API

@RequestMapping(value="/find/city={city}", method=RequestMethod.GET) 
public @ResponseBody String getCity(@PathVariable String city) throws JsonParseException, IOException 
{  
    ObjectMapper mapper = new ObjectMapper(); 
    SimpleBeanPropertyFilter theFilter = SimpleBeanPropertyFilter.serializeAllExcept("id","miscellaneous","country","foundin","code","latlong","state"); 
    FilterProvider filters = new SimpleFilterProvider().addFilter("myFilter", theFilter); 
    String content = ""; 
    StringBuilder builder = new StringBuilder(); 
    List<Master_City> list = City_Repository.findByCityLikeIgnoreCase(city); 
for (Master_City json : list) 
    { 
    builder.append(mapper.writer(filters).writeValueAsString(json)); 
    } 
content = builder.toString(); 
return content; 
} 

輸出不是JSON,這是一個字符串:

{"indexid":65,"city":"Barcelona"}{"indexid":158,"city":"Dillons Bay"}  {"indexid":232,"city":"East London"}{"indexid":411,"city":"Londonderry"{"indexid":587,"city":"Thessaloniki"}{"indexid":818,"city":"Bouillon"}{"indexid":1719,"city":"Flin Flon"}{"indexid":2073,"city":"Clonmel"} 

我需要的格式如下:

[ { 「IndexID爲」: 「425」, 「城市」: 「弗林弗倫」 },{ 「IndexID爲」: 「220」, 「城市」: 「倫敦」 }, { 「IndexID爲」: 「525」, 「城市」: 「長年」 } ]

+0

也許你想給我們你的想法JSON是解釋響應。對我而言,這是一種基於字符串的格式化數據的方式。就像你發佈爲「輸出」的東西一樣。 – GhostCat

回答

1

我需要以json格式。

簡答:JSON格式IS STRING。


龍酮(從wikipedia說明)

(JSON)是使用人類可讀的文本傳輸由屬性 - 值對的數據對象的開放式標準格式。它是用於異步瀏覽器/服務器通信的最常用的數據格式.....

正如你所看到的,你得到的字符串,具有正確的attribte - 值對格式,所以你可以給它回 [{「IndexID爲」:「425」,「城市」:到Java對象,或者您可以在需要


我需要這種格式在純文本文件存儲獲得原始的Java對象「 Flin Flon「},{」indexid「:」220「,」city「:」London「},{」indexid「:」525「,」city「:」Longyear「}]

如果你需要的是引用數字,只需將其類型改爲String即可,因爲id是數字格式,所以不需要引號。

0

你想要做的是一個json數組,並且你可以使用 Gson庫來將對象轉換爲json。

試試這個:

Gson gson = new Gson();  
content = gson.toJson(list); //your list of Master_City 

你的結果:

[{ 「IndexID爲」:65, 「城市」: 「巴塞羅那」},{ 「IndexID爲」:158, 「城市」:」 Dillons Bay「},{」indexid「:232,」city「:」East London「},{」indexid「:411,」city「:」Londonderry「},{」indexid「:587,」city「塞薩洛尼基「},{」indexid「:818,」city「:」Bouillon「},{」indexid「:1719,」city「:」Flin Flon「},{」indexid「:2073,」city「 「}]

依賴關係:

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> 
<dependency> 
    <groupId>com.google.code.gson</groupId> 
    <artifactId>gson</artifactId> 
    <version>2.7</version> 
</dependency> 
0

在HTTP請求中必須設置與內容類型=「應用/ JSON的」頭然後它會給以JSON格式

相關問題