Android创建一个Json字符串
我试图在Android应用程序中创建一个JSON字符串Android创建一个Json字符串,android,json,Android,Json,我试图在Android应用程序中创建一个JSON字符串 JSONArray jArrayFacebookData = new JSONArray(); JSONObject jObjectType = new JSONObject(); // put elements into the object as a key-value pair jObjectType.put("type", "facebook_login"); jArrayFacebook
JSONArray jArrayFacebookData = new JSONArray();
JSONObject jObjectType = new JSONObject();
// put elements into the object as a key-value pair
jObjectType.put("type", "facebook_login");
jArrayFacebookData.put(jObjectType);
// 2nd array for user information
JSONObject jObjectData = new JSONObject();
// Create Json Object using Facebook Data
jObjectData.put("facebook_user_id", id);
jObjectData.put("first_name", first_name);
jObjectData.put("last_name", last_name);
jObjectData.put("email", email);
jObjectData.put("username", username);
jObjectData.put("birthday", birthday);
jObjectData.put("gender", gender);
jObjectData.put("location", place);
jObjectData.put("display_photo", display_photo_url);
jArrayFacebookData.put(jObjectData);
它创建了一个像这样的字符串
[
{
"type":"facebook_login"
},
{
"birthday":"06\/22\/1986",
"first_name":"Harsha",
"username":"harshamv",
"location":"Bangalore, India",
"email":"hmv2206@gmail.com",
"last_name":"Mv",
"gender":"male",
"facebook_user_id":"1423671254",
"display_photo":"http:\/\/graph.facebook.com\/1423671254\/picture?type=large"
}
]
[
"system":{
"type":"facebook_login"
},
"data":{
"birthday":"06\/22\/1986",
"first_name":"Harsha",
"username":"harshamv",
"location":"Bangalore, India",
"email":"hmv2206@gmail.com",
"last_name":"Mv",
"gender":"male",
"facebook_user_id":"1423671254",
"display_photo":"http:\/\/graph.facebook.com\/1423671254\/picture?type=large"
}
]
我想创建一个类似这样的JSON字符串
[
{
"type":"facebook_login"
},
{
"birthday":"06\/22\/1986",
"first_name":"Harsha",
"username":"harshamv",
"location":"Bangalore, India",
"email":"hmv2206@gmail.com",
"last_name":"Mv",
"gender":"male",
"facebook_user_id":"1423671254",
"display_photo":"http:\/\/graph.facebook.com\/1423671254\/picture?type=large"
}
]
[
"system":{
"type":"facebook_login"
},
"data":{
"birthday":"06\/22\/1986",
"first_name":"Harsha",
"username":"harshamv",
"location":"Bangalore, India",
"email":"hmv2206@gmail.com",
"last_name":"Mv",
"gender":"male",
"facebook_user_id":"1423671254",
"display_photo":"http:\/\/graph.facebook.com\/1423671254\/picture?type=large"
}
]
为jArrayFacebookData创建JSON对象
(而不是您所使用的JSONArray),并将jObjectType和jObjectData放入其中
检查此方法
更新:
您的JSON出现错误:
有效的JSON是:
{
"system": {
"type": "facebook_login"
},
"data": {
"birthday": "06/22/1986",
"first_name": "Harsha",
"username": "harshamv",
"location": "Bangalore, India",
"email": "hmv2206@gmail.com",
"last_name": "Mv",
"gender": "male",
"facebook_user_id": "1423671254",
"display_photo": "http://graph.facebook.com/1423671254/picture?type=large"
}
}
最终解决方案:
这将为您提供jsonObject,但不是数组,我认为使用JSONArray没有任何意义。在这种情况下,JSONObject更好。您将看到以下输出为字符串
{
"system":{
"type":"facebook_login"
},
"data":{
"birthday":"06\/22\/1986",
"first_name":"Harsha",
"username":"harshamv",
"location":"Bangalore, India",
"email":"hmv2206@gmail.com",
"last_name":"Mv",
"gender":"male",
"facebook_user_id":"1423671254",
"display_photo":"http:\/\/graph.facebook.com\/1423671254\/picture?type=large"
}
}
如何发布json字符串
for(int i=0; i<iArr.size(); i++){
if(i==0){
st = "{\"userId\":" + iArr.get(i) + "}";
str += st;
}else if(i>0 && i<iArr.size()-1){
st = ",{\"userId\":" + iArr.get(i) + "}";
str+=st;
}else if(i==iArr.size()){
st = ",{\"userId\":" + iArr.get(i) + "}]}";
str+=st;
}
}
String myPost = "{\"project\":{\"Name\":"+ "\""+ title + "\""
+ ",\"Description\":" + "\""+ desc + "\""
+ ",\"createdBy\":" + usrid + ""
+ ",\"startDate\":" + "\""+ startdate + "\""
+ ",\"dueDate\":" + "\""+ duedate + "\""
+ ",\"projectLeadId\":" + leadPosition + ""
+ ",\"QAId\":" + QAssurencePosition + ""
+ ",\"TotalHour\":" +"\""+ edtHour + "\""+ "},\"members\":[";
myPost += str;
myPost +="]}";
RequestPackage myPackage = new RequestPackage();
myPackage.setUri(getaddProject);
myPackage.setMethod("POST");
myPackage.setParam("My Post",myPost+"");
new MyTask().execute(myPackage);
Toast.makeText(CreateProject.this,"Testing String: " + myPost,Toast.LENGTH_LONG ).show();
Log.d("My Post :",myPost);
}
for(int i=0;i0&&i你的意思是说你不能将jsonObject放在json对象中吗?亲爱的,对不起我的错误。我还没有看到你把jArrayFacebookData放在jsonObject中,而不是JsonArray中。这是因为JsonArray不能有键值,因为它是元素,所以我建议使用jsonObject