我想在jsonArray和jsonAraay包括在其他jsoObject添加的JSONObject [英] I want to add jsonobject in jsonArray and that jsonAraay included in other jsoObject
问题描述
我需要在以下构建的Java样的结构,并把它作为回应:
VAR ABC = {行动:删除,
数据表:
{将把userid:userid0,用户名:NAME0},
{将把userid:userid1,用户名:名1},
{将把userid:userid2,用户名:NAME2},
{将把userid:userid3,用户名:NAME3}
]
,
MSGTYPE:成功};
我做的:
JSONArray jsonArray =新JSONArray();为(环){
JSONObject的jsonObj =新的JSONObject();
jsonObj.put(srcOfPhoto,srcOfPhoto);
jsonObj.put(用户名,姓名+计数);
jsonObj.put(用户id,将把userid+计数); jsonArray。新增(jsonObj.toJSONString());
}地图paramMap =新的HashMap();paramMap.put(行动,删除);paramMap.put(数据表,JSONArray),其中;paramMap.put(Constant.MSG_TYPE,Constant.SUCCESS);getJSONMessage(paramMap);
和herer上述功能是转换成paramMap JSON字符串,如:
公共静态字符串getJSONMessage(地图<字符串,字符串> paramMap){
如果(paramMap =空&放大器;!&放大器; paramMap.size()大于0)
返回JSONObject.toJSONString(paramMap);
其他
返回;
}
但它不创造合适的结构,任何人可以帮助我在这?
这里是我得到的输出:
{\"action\":\"Remove\",\"datatable\":[\"{\\\"userid\\\":\\\"userid0\\\",\\\"srcOfPhoto\\\":\\\"users\\/JMMBGTCHG.jpg\\\",\\\"username\\\":\\\"name0\\\"}\"],\"msgType\":\"success\"}
这是不被解析的JavaScript。
VAR JSON =的eval('('+ respText +')');
警报(内容>>中+ json.datatable);
警报(contents.datatable [0]≥>>中+ json.datatable [0] .username);
最后警报显示不确定的。
哦对不起,我忘了最后一行粘贴,这里是最后一行:
getJSONMessage(paramMap);
和上面的函数被转换成paramMap JSON字符串:
公共静态字符串getJSONMessage(地图<字符串,字符串> paramMap){
如果(paramMap =空&放大器;!&放大器; paramMap.size()大于0)
返回JSONObject.toJSONString(paramMap);
其他
返回;
}
JSONArray jsonArray =新JSONArray();为(环){
JSONObject的jsonObj =新的JSONObject();
jsonObj.put(srcOfPhoto,srcOfPhoto);
jsonObj.put(用户名,姓名+计数);
jsonObj.put(用户id,将把userid+计数); jsonArray.put(jsonObj.valueToString());
}JSONObject的参数=新的JSONObject();parameters.put(行动,删除);parameters.put(数据表,JSONArray),其中;parameters.put(Constant.MSG_TYPE,Constant.SUCCESS);
你为什么会被使用的Hashmap如果你想要的是把它变成一个JSONObject?
编辑:按<一个href=\"http://www.json.org/javadoc/org/json/JSONArray.html\">http://www.json.org/javadoc/org/json/JSONArray.html
I need below kind of structure constructed in java and send it as response :
var abc = {"action":"Remove",
"datatable":[
{"userid":"userid0","username":"name0"},
{"userid":"userid1","username":"name1"},
{"userid":"userid2","username":"name2"},
{"userid":"userid3","username":"name3"}
]
,
"msgType":"success"};
I am doing:
JSONArray jsonArray = new JSONArray();
for (loop) {
JSONObject jsonObj= new JSONObject();
jsonObj.put("srcOfPhoto", srcOfPhoto);
jsonObj.put("username", "name"+count);
jsonObj.put("userid", "userid"+count);
jsonArray .add(jsonObj.toJSONString());
}
Map paramMap = new HashMap();
paramMap.put("action", "remove");
paramMap.put("datatable", jsonArray );
paramMap.put(Constant.MSG_TYPE , Constant.SUCCESS);
getJSONMessage(paramMap);
and herer above function is converting paramMap into json string like:
public static String getJSONMessage(Map<String, String> paramMap){
if(paramMap != null && paramMap.size() > 0)
return JSONObject.toJSONString(paramMap);
else
return "";
}
but it is not creating the right structure, can anybody help me in this?
here is what I am getting output:
{"action":"Remove","datatable":["{\"userid\":\"userid0\",\"srcOfPhoto\":\"users\/JMMBGTCHG.jpg\",\"username\":\"name0\"}"],"msgType":"success"}
which is not being parsed in javascript.
var json = eval('(' + respText+')');
alert("contents>>"+json.datatable);
alert("contents.datatable[0]>>>"+json.datatable[0].username);
last alert showing undefined.
ohh sorry I forgot to paste last line , here is the last line:
getJSONMessage(paramMap);
and above function is converting paramMap into json string:
public static String getJSONMessage(Map<String, String> paramMap){
if(paramMap != null && paramMap.size() > 0)
return JSONObject.toJSONString(paramMap);
else
return "";
}
JSONArray jsonArray = new JSONArray();
for (loop) {
JSONObject jsonObj= new JSONObject();
jsonObj.put("srcOfPhoto", srcOfPhoto);
jsonObj.put("username", "name"+count);
jsonObj.put("userid", "userid"+count);
jsonArray.put(jsonObj.valueToString());
}
JSONObject parameters = new JSONObject();
parameters.put("action", "remove");
parameters.put("datatable", jsonArray );
parameters.put(Constant.MSG_TYPE , Constant.SUCCESS);
Why were you using an Hashmap if what you wanted was to put it into a JSONObject?
EDIT: As per http://www.json.org/javadoc/org/json/JSONArray.html
这篇关于我想在jsonArray和jsonAraay包括在其他jsoObject添加的JSONObject的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!