【问题标题】:String to Array Java to Json object [duplicate]字符串到数组Java到Json对象[重复]
【发布时间】:2018-01-12 06:55:12
【问题描述】:

我有一个包含 json 对象的 Java 字符串,但我不知道如何从中获取这个 json 对象?

我的字符串是这样的:

String myString = "[1,\"{\\\"Status\\\":0,\\\"InstanceNumber\\\":9}\"]";

如何从这个字符串中获取 json 对象?

【问题讨论】:

标签: java json


【解决方案1】:

我会推荐简单的 org.json 库。将字符串传入JSONArray,然后得到JSONObject。例如像下面这样:

String myString = "[1,\"{\\\"Status\\\":0,\\\"InstanceNumber\\\":9}\"]";
JSONArray js = new JSONArray(myString);
System.out.println(js);
JSONObject obj = new JSONObject(js.getString(1));
System.out.println(obj);

输出:

  • [1,"{\"状态\":0,\"InstanceNumber\":9}"]
  • {"状态":0,"InstanceNumber":9}

可下载的jar:http://mvnrepository.com/artifact/org.json/json

【讨论】:

    【解决方案2】:

    确定您需要使用库谎言 JacksonGson

    当我没有复杂的东西时,我主要使用 gson。 所以这里是你所要求的输出。我想您没有要转换为的类型(因为我正在使用 Object)。

    代码如下:

    import com.google.gson.Gson;
    
    public class Json {
    
        public static void main(String[] args) {
           Gson g = new Gson();
           String myString = "[1,\"{\\\"Status\\\":0,\\\"InstanceNumber\\\":9}\"]";
           Object p = g.fromJson(myString, Object.class);
           System.out.println(p.toString());
        }
    
    }
    

    这是输出:

    run:
    [1.0, {"Status":0,"InstanceNumber":9}]
    BUILD SUCCESSFUL (total time: 0 seconds)
    

    您可能希望按照自己的意愿操作输出对象(我刚刚将其打印出来)。 注意:不要忘记将 gson jar 添加到您的类路径中。

    【讨论】:

    • 成功了,非常好
    【解决方案3】:

    您可以使用任何 Json 映射框架将 String 反序列化为 Java 对象。下面的例子展示了如何使用Jackson

    String myString = "[1,\"{\\\"Status\\\":0,\\\"InstanceNumber\\\":9}\"]";
    ObjectMapper mapper = new ObjectMapper();
    List<Object> value = mapper.readValue(myString, new TypeReference<List<Object>>() {});
    Map<String, Object> map = mapper.readValue(value.get(1).toString(), new TypeReference<Map<String, Object>>() {});
    System.out.println(map);
    

    Here's 文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-20
      • 1970-01-01
      • 2021-09-04
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      • 2018-08-31
      相关资源
      最近更新 更多