Java 如何将向量转换为JSONArray?

Java 如何将向量转换为JSONArray?,java,vector,gson,arrays,Java,Vector,Gson,Arrays,我需要将向量转换为JSONArray。除了遍历向量并创建JSONArray,还有更简单的方法吗 有人让我试试gson。SharedReferences只是一个键值存储。是什么阻止您完全绕过JSONObject,而只是使用类似的东西(仅限于Gson) 私有静态最终类型数据\u类型= 新的TypeToken(){}.getType(); 存储: Vector<Vector<Float>> data = new Vector<Vector<Float>>

我需要将
向量
转换为
JSONArray
。除了遍历向量并创建
JSONArray
,还有更简单的方法吗


有人让我试试gson。

SharedReferences
只是一个键值存储。是什么阻止您完全绕过
JSONObject
,而只是使用类似的东西(仅限于Gson)

私有静态最终类型数据\u类型=
新的TypeToken(){}.getType();
存储:

Vector<Vector<Float>> data = new Vector<Vector<Float>>();
data.add(new Vector<Float>());
data.get(0).add(3.0f);

String dataAsJson = new Gson().toJson(data, DATA_TYPE);
sharedPreferences.edit().putString("data", dataAsJson).commit();
String dataAsJson = sharedPreferences.getString("data", "[]");
Vector<Vector<Float>> data = new Gson().fromJson(dataAsJson, DATA_TYPE);
矢量数据=新矢量();
data.add(新向量());
data.get(0)、add(3.0f);
字符串dataAsJson=new Gson().toJson(数据,数据类型);
SharedReferences.edit().putString(“数据”,dataAsJson.commit();
检索:

Vector<Vector<Float>> data = new Vector<Vector<Float>>();
data.add(new Vector<Float>());
data.get(0).add(3.0f);

String dataAsJson = new Gson().toJson(data, DATA_TYPE);
sharedPreferences.edit().putString("data", dataAsJson).commit();
String dataAsJson = sharedPreferences.getString("data", "[]");
Vector<Vector<Float>> data = new Gson().fromJson(dataAsJson, DATA_TYPE);
String dataAsJson=SharedReferences.getString(“数据”,“[]”);
Vector data=new Gson().fromJson(dataAsJson,数据类型);

免责声明:我从来没有为Android开发过。

为什么要用相同的方法对它进行序列化和反序列化?您的
json
字符串已将矢量数据保存为json。通过尝试获取JSONArray,您试图将其返回到Java对象中(但使用不同的JSON库)。为什么?为什么不直接使用
数据
?你到底想实现什么?我的目标是将向量转换为JSONObject。我四处寻找,似乎格森能帮上忙。您能推荐一种方法吗?Gson用于将Java对象序列化为JSON格式的字符串。然而,JSONObject是一个Java对象,当您想要获取JSON格式的字符串并将其转换回Java对象时,可以使用它。它属于一个完全不同的图书馆。当我问你实际上想要完成什么时,我的意思是在更高的层次上,因为你目前的目标似乎有缺陷。使用JSON作为无意义的中介,从一种Java对象类型转到另一种Java对象类型是没有意义的。你有接受JSONObject或其他东西的代码吗?您正在尝试通过套接字发送JSON吗?你的目标是什么?是的。我试图在Android的SharedReferences中存储一个向量。这个线程中有一个post,它将JSON对象作为参数来执行此操作。我已经在代码中使用了向量,所以将所有内容重写为JSONArray是不切实际的。这就是我试图将向量转换为JSONArray的原因。这里有一个方法
saveJSONObject
JSONObject
转换为字符串。因此,除非我大错特错,否则您可以跳过无用的JSON部分,只需按照建议保存字符串即可。