有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用“=”代替“:”的JAVA Json对象

我有一个java字符串,它有一个JSON结构,但没有使用“:”我的字符串使用“=”。例如,我有一个字符串:

[{
    index1 = val1,
    index2 = val2,
    index3 = val3&val4=inside_value
}]

而不是像这样:

[{
    index1 : val1,
    index2 : val2,
    index3 : val3&val4=inside_value
}]

现在,我可以使用一些我可以构建的语法分析器,但我想已经有一些东西可以工作了。 有什么想法吗


共 (1) 个答案

  1. # 1 楼答案

    如果字符串结构是永久性的,则可以进行自定义解析

    String convertToJson="[{"
                        +"index1 = val1,"
                        +"index2 = val2,"
                        +"index3 = val3&val4=inside_value"
                    +"}]";
              String[] split1=  convertToJson.split(",");
              HashMap<String, String> map=new HashMap<>();
              for(String row:split1){
                  row =row.toLowerCase().replaceAll("[\\[\\]\\{\\}]", "");
                  String key=row.split("=",2)[0];
                  String value=row.split("=",2)[1];
                  map.put(key, value);
              }
              System.out.println("map :: "+map.toString());
              JSONObject json = new JSONObject();
              json.putAll( map );
              System.out.printf( "JSON:", json.toString() );
    

    通过删除不需要的字符,可以从字符串中创建hashmap,最后从hashmap中创建JSONObject