要映射的字符串<string,object>

时间:2016-07-13 16:43:19

标签: java spring

我有这个字符串

"{id={date=1467991309000, time=1467991309000, timestamp=1467991309, timeSecond=1467991309, inc=-360249353, machine=-705844029, new=false}, id_lista={date=1467991309000, time=1467991309000, timestamp=1467991309, timeSecond=1467991309, inc=-360249354, machine=-705844029, new=false}, id_documento=1297183, estado=1, fecha_ing=1467991309026, fecha_mod=1468010645484, identificador_r=null, titulo=null, pais=null, sector=null, url=null, dato1=null, dato2=null}"

如何在java中解析以获得类似Map<String,Object>

的内容
    id:{}
    id_lista:{}
    id_documento:123
    estado:1
    fecha_ing:1467991309026
    etc..
  

更新:

  • 最后我转向JSONArray获取值。

2 个答案:

答案 0 :(得分:1)

你的意思是void write_solution(uchar our_index[16], global uchar *solution) { uchar8 solution_data = 0; solution_data.s0 = (our_index[0] & 0xF) + ((our_index[1] & 0xF) << 4); solution_data.s1 = (our_index[2] & 0xF) + ((our_index[3] & 0xF) << 4); solution_data.s2 = (our_index[4] & 0xF) + ((our_index[5] & 0xF) << 4); solution_data.s3 = (our_index[6] & 0xF) + ((our_index[7] & 0xF) << 4); solution_data.s4 = (our_index[8] & 0xF) + ((our_index[9] & 0xF) << 4); solution_data.s5 = (our_index[10] & 0xF) + ((our_index[11] & 0xF) << 4); solution_data.s6 = (our_index[12] & 0xF) + ((our_index[13] & 0xF) << 4); solution_data.s7 = (our_index[14] & 0xF) + ((our_index[15] & 0xF) << 4); vstore8(solution_data, 0, solution); } 还是你自己的一类?

如果您使用以下内容(Google Gson)正确定义了您的课程,则可以进入Java世界:

void write_solution(uchar our_index[16], global uchar *solution) {
    uchar8 solution_data = 0;
    for(int i = 0; i < 8; i++) {
        solution_data[i] = (our_index[i * 2] & 0xF) + ((our_index[i * 2 + 1] & 0xF) << 4);
    }
    vstore8(solution_data, 0, solution);
}

您在地图中使用的键值(字符串)是您的决定

答案 1 :(得分:0)

它看起来好像你有一个几乎是JSON格式的字符串。 根据您想要使用地图的内容,您可能想要查看使用org.json.JSONObject吗? (当您在示例字符串中拥有嵌套信息时,这尤其好。)

要从字符串中获取JSONObject,首先必须用冒号替换所有等号。

String jsonString = "your string here".replace("=",":");

然后你可以创建一个JSONObject。

JSONObject jsonObj = new JSONObject(jsonString);

如果您想要获得地图,则有关于从JSONObject到地图的答案herehere

    public void parse(String json)  {
       JsonFactory factory = new JsonFactory();

       ObjectMapper mapper = new ObjectMapper(factory);
       JsonNode rootNode = mapper.readTree(json);  

       Iterator<Map.Entry<String,JsonNode>> fieldsIterator = rootNode.fields();
       while (fieldsIterator.hasNext()) {

           Map.Entry<String,JsonNode> field = fieldsIterator.next();
           System.out.println("Key: " + field.getKey() + "\tValue:" + field.getValue());
       }
}