2016-03-21 133 views
0

我有如下一个JSON: -如何JSON对象转换成Java jsonReader

{ 
    "products": 
    { 
     "productsApp15": { 
      "code": "productsApp16", 
      "name": "productsApp16", 
      "attribute_set": "Apparel", 
      "product_type": "product", 
      "status": "active" 
      } 
    } 
} 

现在我需要它可以转换像自动在下面的功能: -

final JsonReader jsonReader = Json.createReader(new StringReader("{\n" + 
       " \"products\":\n" + 
       " {\n" + 
       "  \"productsApp13\": {\n" + 
       "   \"code\": \"productsApp13\",\n" + 
       "   \"name\": \"productsApp13\",\n" + 
       "   \"attribute_set\": \"Apparel\",\n" + 
       "   \"product_type\": \"product\",\n" + 
       "   \"status\": \"active\"\n" + 
       "   }\n" + 
       " }\n" + 
       "}")); 

对于我试图用/ n连接/连接字符串,但它被占用为新行。我知道这是对的,但是有什么办法可以自动获得输出。

我试过类似下面: -

 String sCurrentLine; 
     StringBuilder sb = new StringBuilder(""); 
     br = new BufferedReader(new FileReader("./src/test/com/testdata/HTTPHelperTest.csv")); 

    while ((sCurrentLine = br.readLine()) != null) { 
     sb.append(sCurrentLine); 
     sb.append("\n"); 
    } 
    br.close(); 
    System.out.println("Value Json"+sb); 

任何解决方案是appreicable。

回答

1

您需要添加一个转义字符\\n

while ((sCurrentLine = br.readLine()) != null) { 
     sb.append(sCurrentLine); 
     sb.append("\\n"); 
    } 
+0

谢谢..你的答案有给我提供一个部分的律液..投票弥补相同..但它仍然不是像上面做字符串..我也sb.append(“+”); –

+0

那么,你的第二个代码示例中存在“+”,因为已将字符串分隔开以便更好地查看可见性。您可以使用制表符\ t和新行\ n使其看起来像您的问题中的第一个代码示例。 –