从JSONObject获取Vector对象

时间:2012-09-26 18:52:47

标签: java json vector casting add

我想知道是否有办法从JSONObject中获取Vector。假设我有这个:

public class Foo
    private JSONObject json;
    public Foo(){
        try{ 
            json=new JSONObject();
            Vector<,F> v=new Vector<,F>(); // pretend like the comma isn't there please 
            json.put("blah", v); ...} catch (JSONException e){...}
    } 
    .
    .
    .
    public void addBlahs(,F goo){
         try{
            Object o=json.get("blah");
            // Since json.get("blah") should be a Vector of .F's, I thought I could do something like this...
            Vector<,F> v=(Vector <,F>) o;
            v.add(goo);} catch (JSONException{ ...}
    }

Eclipse给出了一个警告,说明未经检查的类型转换。是否有可能从JSONObject获取某种类型的对象,然后能够使用该对象?我想将“goo”添加到该Vector,但不确定如何正确访问它并添加到它。

我是初学者,所以对我很轻松:)

1 个答案:

答案 0 :(得分:0)

您无法将Vector放入JSONObject。根据{{​​3}}的文件:

  

- 键字符串。

     

value - 作为值的对象。   它应该是以下类型之一:Boolean,Double,Integer,   JSONArray,JSONObject,Long,String或JSONObject.NULL对象。

但是,您可以使用JSONObject#put(String, Object)代替。