簡體   English   中英

java:從字符串創建嵌套的json對象

[英]java : create nested json object from String

我想從String創建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;
    }
}

嘗試在下面使用-

    JSONObject obj1 = new JSONObject();
        obj1.put("birthdate", "01-01-2017");
        obj1.put("age", new Integer(18));

   JSONObject obj2 = new JSONObject();
        obj2.put("name", "abc");
        obj2.put("details", obj1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM