我給出了三個輸入。Java:將鍵值對追加到嵌套的json對象
JSON對象(嵌套)
的節點結構
- 鍵值對
我的任務是通過觀察到追加關鍵值對的節點節點結構並更新原始的JSON。
例如,如果輸入是,
JSON對象
{ a: { b: { c:{} } } }
節點結構
a.b.
密鑰
k
和價值v
最後更新JSON應該像
{
a:
{
b:
{
key:val
c:{}
}
}
}
請注意,原來的JSON可以
{}
也。然後我必須通過查看節點結構來構建整個JSON。
這裏是我的代碼
做一個鍵值對
public JSONObject makeEV(String ele, String val) throws JSONException{ JSONObject json =new JSONObject(); json.put(ele, val); return json; }
追加它JSON
public void modifiedJSON(JSONObject orgJson, String nodeStruct, JSONObject ev) throws JSONException{ JSONObject newJson = new JSONObject(); JSONObject copyJson = newJson; char last = nodeStruct.charAt(nodeStruct.length()-1); String lastNode = String.valueOf(last); int i = 0; while(orgJson.length() != 0 || i< nodeStruct.length()){ if(orgJson.length() ==0){ if(nodeStruct.charAt(i) == last){ newJson.put(String.valueOf(last), ev.toString()); }else{ newJson.put(String.valueOf(nodeStruct.charAt(i)), ""); } newJson = newJson.getJSONObject(String.valueOf(nodeStruct.charAt(i))); } else if(i >= nodeStruct.length()){ if(orgJson.has(lastNode)){ newJson.put(String.valueOf(last), ev.toString()); }else{ } } } }
我在這裏停留。請幫忙。提前致謝。
你的節點結構應該是相當'a.b.key',不是嗎? –
是的。那也沒關係 –