2016-09-07 79 views
-1

我正嘗試在Java中創建JSON以下。在Java中創建JSON輸出

"data": { 
    "keys": ["access_token"] 
} 

我曾嘗試下面的代碼相同

JSONObject jsonObjSend = new JSONObject(); 
JSONObject data = new JSONObject(); 
JSONArray keys = new JSONArray(); 
keys.add("access_token"); 
jsonObjSend.put("keys", keys); 
data.put("data",keys); 
System.out.println(obj.toString()); 
+1

還有,你試過嗎? – AlexR

+0

以適當的格式將您的代碼作爲問題的一部分發布。 – AlexR

+1

那麼最新的問題 – Abhijeet

回答

0

你錯誤地做這件事。你需要添加datajsonObjSend檢查這一點。

import org.json.JSONArray; 
import org.json.JSONObject; 

public class Test { 

public static void main(String[] args) { 
    JSONObject jsonObjSend = new JSONObject(); 
    JSONObject data = new JSONObject(); 
    JSONArray keys = new JSONArray(); 
    keys.put("access_token"); 
    data.put("keys", keys); 
    jsonObjSend.put("data",data); 
    System.out.println(jsonObjSend.toString()); 
    } 
} 
0

請介意所需的輸出不是有效的JSON:

"data": { 
    "keys": [ 
    "access_token" 
    ] 
} 

一個有效的JSON是:

{ 
    "data": { 
    "keys": [ 
     "access_token" 
    ] 
    } 
} 

一旦你使用的是org.json庫工作使用JSON,您可能會發現以下代碼很有用:

JSONObject root = new JSONObject(); 

JSONObject data = new JSONObject(); 
root.put("data", data); 

JSONArray keys = new JSONArray(); 
keys.put("access_token"); 
data.put("keys", keys); 

String json = root.toString(); 

它會產生這樣JSON:

{"data": {"keys": ["access_token"]}} 
+0

它爲我工作,謝謝 –

+0

有什麼辦法可以傳遞BIG JSON數據嗎? –

+0

@AltamashShaikh我還沒有嘗試過使用大的JSON數據,也不知道什麼*大的JSON數據*對你意味着什麼。你可以試試。 –

0

您可以使用谷歌的Json GSON實現它。

看一看示例代碼

JsonObj obj = new JsonObj(); 
Data data = new Data(); 
String keys[] = {"access_token"}; 
data.setKeys(keys); 

obj.setData(data); 
System.out.println("==================>>>"+gson.toJson(obj)); 


class JsonObj{ 
    private Data data; 
    public Data getData() { 
     return data; 
    } 
    public void setData(Data data) { 
     this.data = data; 
    } 
} 
class Data{ 
    private String[] keys; 

    public String[] getKeys() { 
     return keys; 
    } 
    public void setKeys(String[] keys) { 
     this.keys = keys; 
    } 
}