2017-03-03 34 views
0

首先,我使用json-simple-2.1.2.jar [Link on GitHub]。使用Java为JsonArray或JsonObject添加名称[json-simple.jar库]

它与json-simple-1.1.1.jar类似,但一些类被更新,其他一些被弃用,但逻辑​​是相同的。


Java代码 [它产生下文]

//JSON Array [ROOT] 
    JsonArray json = new JsonArray(); 

    //Libraries Array 
    JsonArray libraries = new JsonArray(); 
    for (int i = 0; i < 2; i++) { 
     JsonObject object = new JsonObject(); 
     object.put("name", "library->" + i); 
     libraries.add(object); 
    } 

    //Add to ROOT ARRAY 
    json.add(libraries); 

    //Write to File 
    try (FileWriter file = new FileWriter(jsonFilePath)) { 
     file.write(json.toJson()); 
     file.flush(); 
    } catch (IOException e) { 
     e.printStackTrace();  
    } 

生产json文件:

[ 
    [ 
     { 
      "name": "library->0" 
     }, 
     { 
      "name": "library->1" 
     } 
    ] 
] 

我想要什么

[ 
    "libraries":[ 
     { 
      "name": "library->0" 
     }, 
     { 
      "name": "library->1" 
     } 
    ] 
] 

正如您所见,JsonArray有一个名称,例如:"libraries"

我找不到任何方式与我使用的json-simple.jar无关。

帮助很多赞赏:)

+0

你想要的不是有效的JSON。 –

+0

@Srikanth A看看这里https://www.tutorialspoint.com/json/json_syntax.htm :)让我知道你为什么认为这是错的,我是JSON的新手。 – GOXR3PLUS

+0

我在这里提到确认预期的JSON无效http://jsonlint.com/ –

回答

1

预期的JSON格式预期的问题是不是有效的JSON。它可以在这里验证JSONLINT.com

如果将起始和尖括号替换为花括号,它将是有效的JSON。 PFB代码构建相同。

import org.json.simple.JsonArray; 
import org.json.simple.JsonObject; 

import java.io.*; 

public class Test { 

    public static void main(String[] args) 
      throws FileNotFoundException { 

     //JSON Array [ROOT] 
     JsonObject finalOutput = new JsonObject(); 

     //Libraries Array 
     JsonArray libraries = new JsonArray(); 
     for (int i = 0; i < 2; i++) { 
      JsonObject object = new JsonObject(); 
      object.put("name", "library->" + i); 
      libraries.add(object); 
     } 

     finalOutput.put("libraries", libraries); 

     //Write to File 
     try (FileWriter file = new FileWriter("C:\\Users\\b21677\\output.json")) { 
      file.write(finalOutput.toJson()); 
      file.flush(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

} 
+0

谢谢veeeery我的朋友! :) – GOXR3PLUS

+1

任何时候的朋友:)。有关JSON的精确想法,请参阅http://json.org/。 –

+0

我会upvote +2,如果我可以:)另外一个问题..什么是最好的JSON库用于Java在你看来? – GOXR3PLUS

相关问题