2017-09-25 21 views
0

在最簡單的事情上讓自己瘋狂。我有一個名爲config.txt的JSON文件。該文件如下所示。 { 「UsePipesInGuestData」:真 }在Android中將簡單的JSON文件加載到2維數組中

所有我想要做的是得到一個2維陣列,使得: 數組[0] = UsePipesInGuestData和 數組[1] =真

我已經努力了4小時各種嘗試,我最近如下: 私人無效getConfig(){// 功能來讀取的config.txt

FileInputStream is; 
    BufferedReader reader; 

    try { 
     final File configFile = new File(Environment.getExternalStorageDirectory().getPath() + "/guestlink/config.txt"); 
     if (configFile.exists()) { 
      is = new FileInputStream(configFile); 
      reader = new BufferedReader(new InputStreamReader(is)); 
      String line = reader.readLine(); 
      while (line != null) { 
       line = reader.readLine(); 
       if(line!= null) { 
         line = line.replace("\"", ""); //Strip out Quotes 
         line = line.replace(" ", ""); //Strip out Spaces 

        if ((!line.equals("{")) || (!line.equals("}"))) { 

        } else { 
         String[] configValue = line.split(":"); 

         switch (configValue[0]) { 
          case "UsePipesInGuestData": 
           if (configValue[1].equals("true")) { 
            sharedPreferences.edit().putString("UsePipes", "true").apply(); 
           } else { 
            sharedPreferences.edit().putString("UsePipes", "false").apply(); 
           } 
           break; 
         } 
        } 
       } 
      } 
      reader.close(); 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

我的配置信息似乎無法忽略其中{和}的行。

很明顯,有一個更簡單的方法。 JAVA似乎需要大量的代碼來做最簡單的事情。任何幫助是極大的讚賞。

+1

你可以使用Gson https://stackoverflow.com/questions/29965764/how-to-parse-json-file-with-gson – tebitoq

+3

可能的重複[如何解析Java中的JSON](https:// stackoverflow .com/questions/2591098/how-to-parse-json-in-java) –

回答

0

我相信你的病情是不正確的。您嘗試在條件(!line.equals("{")) || (!line.equals("}"))的其他條件中讀取該文件。簡化,當出現以下情況你的代碼將運行:

(!{||!})=> {& &}(應用德摩根定律)

這意味着你將只有在運行代碼行是「{」AND它是「}」這是一個矛盾。嘗試使用簡單的條件,如(!line.equals("{")) && (!line.equals("}"))(這是當你想執行你的代碼)。

此外,您的字符串中可能會出現行尾字符(\ n),這會使您的條件失敗(「{\ n」!=「{」)。我建議你調試並查看你在這些行中獲得的實際值。

+0

感謝您的快速回復。說得通。有時候我看不到眼前的事情。只用了約2個月的Android工作,仍然學到了很多東西。 –

+0

我們都去過那裏。別擔心。快樂的編碼 –

相關問題