我几乎没有想要将snake_case JSON转换为嵌套JSON的情况 e.g。
{
"snake_case": {
"test": "value"
}
}
到
{
"snake": {
"case": {
"test": "value"
}
}
}
有没有办法在java中执行此操作,然后使用_
手动解析字符串,或者java中是否有任何库?
答案 0 :(得分:0)
将您的JSON数据视为字符串:
String strjson="{snake_case: {test: value}}";
然后
JSONObject jj=new JSONObject(strjson);
JSONObject jfinal=new JSONObject();
Iterator<String> itr=jj.keys();
while(itr.hasNext())
{
String key=itr.next();
if(key.contains("-"))
{
JSONObject jkey=jj.getJSONObject(key);
JSONObject jnew=new JSONObject();
jnew.put(key.split("-")[1],jkey);
jfinal.put(key.split("-")[0],jnew);
}
}
你可以在jfinal获得输出。
答案 1 :(得分:0)
您可以BSON实现这一目标。这是您将使用的代码。
//import java.util.ArrayList;
//import org.bson.Document;
//Declare three json object
Document root= new Document();
Document rootSnake = new Document();
Document rootSnakeCase = new Document();
//Add value to the most nested object
rootSnakeCase.append("test","value");
//combine the objects together
if (!rootSnakeCase.isEmpty()){
rootSnake.append("case",rootSnakeCase);
}
if (!rootSnake.isEmpty()){
root.append("snake",rootSnake);
}
//output code
System.out.println(root.toJson());