我想从字符串创建org.json.JSONObject
。
该字符串为“user.phone.num:00113”
。我想要的结果是具有以下格式的 org.json.JSONObject 对象:
{
user:
{
phone: {num: 00113}
}
}
有没有内置方法可以实现这个结果。谢谢。
最佳答案
如果你的 json 的每一行都被分割了,你可以尝试这个代码
import org.json.JSONException;
import org.json.JSONObject;
/**
* Created by ebi on 7/3/17.
*/
public class Main {
public static void main(String[] args) throws JSONException {
String str = "user.phone.num : 00113";
String json_str = str_to_json(str);
JSONObject jsonObject = new JSONObject(json_str);
System.out.println(jsonObject);
}
public static String str_to_json(String jsonByDot){
int valOffset = jsonByDot.indexOf(":");
String keys = jsonByDot.substring(0,valOffset).trim();
String val = jsonByDot.substring(valOffset+1).trim();
String keysArr[] = keys.split("\\.");
String output = "";
for(String key:keysArr){
output+="{"+key+":";
}
output+=val;
for (int i = 0 ;i<keysArr.length;i++){
output+="}";
}
return output;
}
}
关于java : create nested json object from String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44883995/