Java 从字符串获取JSONObject

Java 从字符串获取JSONObject,java,json,Java,Json,我有一个字符串,它包含多个JSONObject,如下所示: [{“一”:“一”、“二”:“二”、“三”:“三”}, {“一”:“四”,“二”:“五”,“三”:“六”}, {“一”:“七”、“二”:“八”、“三”:“九”}] 如何使用java迭代这个字符串并获取每个对象?是否可以使用JSON api,或者我应该自己制作解析器?您应该大胆地使用JSON api,您可以从下载jar并简单地使用它 JSONArray myArray = new JSONArray(yourString); for (i

我有一个字符串,它包含多个JSONObject,如下所示:

[{“一”:“一”、“二”:“二”、“三”:“三”}, {“一”:“四”,“二”:“五”,“三”:“六”}, {“一”:“七”、“二”:“八”、“三”:“九”}]


如何使用java迭代这个字符串并获取每个对象?是否可以使用JSON api,或者我应该自己制作解析器?

您应该大胆地使用JSON api,您可以从下载jar并简单地使用它

JSONArray myArray = new JSONArray(yourString);
for (int i=0; i < myArray.length(); i++)
{
    JSONObject currentOb = myArray.get(i);
    doSomthing(currentOb);
}
JSONArray myArray=newjsonarray(yourString);
对于(int i=0;i
您应该大胆地使用Json API,您可以从下载jar并简单地使用它

JSONArray myArray = new JSONArray(yourString);
for (int i=0; i < myArray.length(); i++)
{
    JSONObject currentOb = myArray.get(i);
    doSomthing(currentOb);
}
JSONArray myArray=newjsonarray(yourString);
对于(int i=0;i
您应该大胆地使用Json API,您可以从下载jar并简单地使用它

JSONArray myArray = new JSONArray(yourString);
for (int i=0; i < myArray.length(); i++)
{
    JSONObject currentOb = myArray.get(i);
    doSomthing(currentOb);
}
JSONArray myArray=newjsonarray(yourString);
对于(int i=0;i
您应该大胆地使用Json API,您可以从下载jar并简单地使用它

JSONArray myArray = new JSONArray(yourString);
for (int i=0; i < myArray.length(); i++)
{
    JSONObject currentOb = myArray.get(i);
    doSomthing(currentOb);
}
JSONArray myArray=newjsonarray(yourString);
对于(int i=0;i
是将java对象转换为json字符串的好方法,反之亦然

  • 要将json转换为java对象,请使用:
  • 要将java对象转换为json字符串,请使用:
在你的例子中,它是一个对象列表

示例代码:

class MyPOJO {
    private String one;
    private String two;
    private String three;
    // getter & setter
}

String jsonString = "[{\"one\":\"1\",\"two\":\"2\",\"three\":\"3\"}, {\"one\":\"4\",\"two\":\"5\",\"three\":\"6\"}, {\"one\":\"7\",\"two\":\"8\",\"three\":\"9\"}]";
Type type = new TypeToken<ArrayList<MyPOJO>>() {}.getType();
ArrayList<MyPOJO> obj = new Gson().fromJson(jsonString, type);
System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(obj));
类MyPOJO{
私有字符串1;
私人字符串二;
私人串三;
//吸气剂和塞特
}
字符串jsonString=“[{1\\”:“1\”,“2\”,“3\”,{“1\”:“4\”,“2\”:“5\”,“3\”:“6\”,{“1\”:“7\”,“2\”:“8\”,“3\”:“9\”;
Type Type=new-TypeToken

是将java对象转换为json字符串的好选项,反之亦然

  • 要将json转换为java对象,请使用:
  • 要将java对象转换为json字符串,请使用:
在你的例子中,它是一个对象列表

示例代码:

class MyPOJO {
    private String one;
    private String two;
    private String three;
    // getter & setter
}

String jsonString = "[{\"one\":\"1\",\"two\":\"2\",\"three\":\"3\"}, {\"one\":\"4\",\"two\":\"5\",\"three\":\"6\"}, {\"one\":\"7\",\"two\":\"8\",\"three\":\"9\"}]";
Type type = new TypeToken<ArrayList<MyPOJO>>() {}.getType();
ArrayList<MyPOJO> obj = new Gson().fromJson(jsonString, type);
System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(obj));
类MyPOJO{
私有字符串1;
私人字符串二;
私人串三;
//吸气剂和塞特
}
字符串jsonString=“[{1\\”:“1\”,“2\”,“3\”,{“1\”:“4\”,“2\”:“5\”,“3\”:“6\”,{“1\”:“7\”,“2\”:“8\”,“3\”:“9\”;
Type Type=new-TypeToken

是将java对象转换为json字符串的好选项,反之亦然

  • 要将json转换为java对象,请使用:
  • 要将java对象转换为json字符串,请使用:
在你的例子中,它是一个对象列表

示例代码:

class MyPOJO {
    private String one;
    private String two;
    private String three;
    // getter & setter
}

String jsonString = "[{\"one\":\"1\",\"two\":\"2\",\"three\":\"3\"}, {\"one\":\"4\",\"two\":\"5\",\"three\":\"6\"}, {\"one\":\"7\",\"two\":\"8\",\"three\":\"9\"}]";
Type type = new TypeToken<ArrayList<MyPOJO>>() {}.getType();
ArrayList<MyPOJO> obj = new Gson().fromJson(jsonString, type);
System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(obj));
类MyPOJO{
私有字符串1;
私人字符串二;
私人串三;
//吸气剂和塞特
}
字符串jsonString=“[{1\\”:“1\”,“2\”,“3\”,{“1\”:“4\”,“2\”:“5\”,“3\”:“6\”,{“1\”:“7\”,“2\”:“8\”,“3\”:“9\”;
Type Type=new-TypeToken

是将java对象转换为json字符串的好选项,反之亦然

  • 要将json转换为java对象,请使用:
  • 要将java对象转换为json字符串,请使用:
在你的例子中,它是一个对象列表

示例代码:

class MyPOJO {
    private String one;
    private String two;
    private String three;
    // getter & setter
}

String jsonString = "[{\"one\":\"1\",\"two\":\"2\",\"three\":\"3\"}, {\"one\":\"4\",\"two\":\"5\",\"three\":\"6\"}, {\"one\":\"7\",\"two\":\"8\",\"three\":\"9\"}]";
Type type = new TypeToken<ArrayList<MyPOJO>>() {}.getType();
ArrayList<MyPOJO> obj = new Gson().fromJson(jsonString, type);
System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(obj));
类MyPOJO{
私有字符串1;
私人字符串二;
私人串三;
//吸气剂和塞特
}
字符串jsonString=“[{1\\”:“1\”,“2\”,“3\”,{“1\”:“4\”,“2\”:“5\”,“3\”:“6\”,{“1\”:“7\”,“2\”:“8\”,“3\”:“9\”;

Type Type=new-TypeToken

很明显,您应该使用JSON库。对现有库进行测试和验证。在非常罕见的情况下,您可能需要编写自己的解析器和实现。如果是这样,我认为你应该仔细检查你的设计。因为如果现有库与您的设计冲突,您可能会做错事

库的选择取决于您的环境和性能要求。
在我的例子中,Spring3是环境,JSON对象很大(10-20MB),插入发生在现有JSON对象上。我们更喜欢。杰克逊的表演非常出色。一个独立的性能比较正在进行中。您将看到Jackson的性能优于GSon。

很明显,您应该使用JSON库。对现有库进行测试和验证。在非常罕见的情况下,您可能需要编写自己的解析器和实现。如果是这样,我认为你应该仔细检查你的设计。因为如果现有库与您的设计冲突,您可能会做错事

库的选择取决于您的环境和性能要求。
在我的例子中,Spring3是环境,JSON对象很大(10-20MB),插入发生在现有JSON对象上。我们更喜欢。杰克逊的表演非常出色。一个独立的性能比较正在进行中。您将看到Jackson的性能优于GSon。

很明显,您应该使用JSON库。对现有库进行测试和验证。在非常罕见的情况下,您可能需要编写自己的解析器和实现。如果是这样,我认为你应该仔细检查你的设计。因为如果现有库与您的设计冲突,您可能会做错事

库的选择取决于您的环境和性能要求。
在我的例子中,Spring3是环境,JSON对象很大(10-20MB),插入发生在现有JSON对象上。我们更喜欢。杰克逊的表演非常出色。一个独立的性能比较正在进行中。您将看到Jackson的性能优于GSon。

很明显,您应该使用JSON库。现有的