0

次の内容のjsonがあります。

{
    "Dictionary":[
        {
            "word": "abc"
            "meaning": "meaning of abc"
        },
        {
            "word": "def"
            "meaning": "meaning of def"
        }
        ]
}

json ファイルを解析するために書いたコードは次のとおりです。

    public class JSONParser extends Activity
    {
         static JSONObject jObj = null;
        static String json = "";

        // constructor
        public JSONParser() 
        {

        }
public JSONObject getJSONFromInput(InputStream location) 
    {
InputStream isr = location;
Writer writer = new StringWriter();
            char[] buffer = new char[1024];
            try
            {
                Reader reader = new BufferedReader(new InputStreamReader(isr,"UTF-8"));
                int n;
                while ((n = reader.read(buffer)) != -1) 
                {
                    writer.write(buffer, 0, n);
                }
                isr.close();
                json = writer.toString();
            }
            catch (Exception e) 
            {
                Log.e("Buffer Error", "Error converting result " + e.toString());
            }
try 
            {
                jObj = new JSONObject(json);
            } 
            catch (JSONException e) 
            {
                Log.e("JSON Parser", "Error parsing data " + e.toString());
            }

        // return JSON String
        return jObj;
    }
}

以下のエラーが表示されます。

E/JSON Parser(555): Error parsing data org.json.JSONException: Unterminated object at character 47 of {
E/JSON Parser(555): "Dictionary":[
E/JSON Parser(555): {
E/JSON Parser(555):     "word": "abc"
E/JSON Parser(555):     "meaning": "meaning of abc"
E/JSON Parser(555): },
E/JSON Parser(555): {
E/JSON Parser(555):     "word": "def"
E/JSON Parser(555):     "meaning": "meaning of def"
E/JSON Parser(555): }
E/JSON Parser(555): ]
E/JSON Parser(555): }

誰でも私を助けることができますか?

4

1 に答える 1

5

オブジェクトのキーと値のペアはコンマで区切られます。あなたの入力にはそれらがありません。

オリジナルと修正済み (この順序で):

    { "word": "abc" "meaning": "meaning of abc" },
    { "word": "abc", "meaning": "meaning of abc" },

JSON Lintの出力も参照してください。

Parse error on line 4:
...       "word": "abc""meaning": "meaning 
-----------------------^
Expecting '}', ':', ',', ']'
于 2012-08-10T08:17:19.967 に答える