JSONObject obj = new JSONObject();
obj.put("name", "your name");
obj.put("parentId", "your parentid");
httppost.setEntity(new StringEntity(obj.toString()));
但是我现在要发送抓包的结果,:
{header:{"code": -100, "message": {"title": "", "detail": ""}},body:{dataStores:{},parameters:{"args": ["menu_jw_pj_xspj_x", ">>"], "responseParam": "tooltip"}}}
这么长的json数据,能不能直接发送json的字符串?
求解,如果可以的话,代码如何写?
7 个解决方案
#1
httppost.setEntity(new StringEntity(obj.toString()));
这不就已经准备完毕了,直接就可以执行了。。。还需要干啥?
这不就已经准备完毕了,直接就可以执行了。。。还需要干啥?
#2
但是我要发送的那个字符串要怎么处理啊?
我要他们一对一对的值,全部都用obj.put();写吗?
求详解。
3Q
#3
还是没十分理解你的最终目的,不过我猜测是对嵌套关系存疑虑。
如果你的内容没有嵌套关系,就全都是ojb.put(key, value);
如果有嵌套关系,就是 subObj=new JSONObject();obj.put(key, subObj);
如果需要数组,就用JSONArray 对象。
那么你需要的是:{header:{"code": -100, "message": {"title": "", "detail": ""}},body:{dataStores:{},parameters:{"args": ["menu_jw_pj_xspj_x", ">>"], "responseParam": "tooltip"}}}
这里面是有嵌套关系的,你先将其格式化,然后就知道嵌套关系了:
注意方括号代表数组。
以前面为例:
JSONObject obj = new JSONObject();
JSONObject objHead = new JSONObject();
obj.put("head", objHead);
objHead.put("code", -100);
JSONObject objMsg = new JSONObject();
objHead.put("message", objMsg);
objMsg.put("title", "");
objMsg.put("detail", "");
如果你的内容没有嵌套关系,就全都是ojb.put(key, value);
如果有嵌套关系,就是 subObj=new JSONObject();obj.put(key, subObj);
如果需要数组,就用JSONArray 对象。
那么你需要的是:{header:{"code": -100, "message": {"title": "", "detail": ""}},body:{dataStores:{},parameters:{"args": ["menu_jw_pj_xspj_x", ">>"], "responseParam": "tooltip"}}}
这里面是有嵌套关系的,你先将其格式化,然后就知道嵌套关系了:
{
header : {
"code" : -100, "message" : {
"title" : "", "detail" : ""
}
}, body : {
dataStores : {}, parameters : {
"args" : [ "menu_jw_pj_xspj_x", ">>" ], "responseParam" : "tooltip"
}
}
};
注意方括号代表数组。
以前面为例:
JSONObject obj = new JSONObject();
JSONObject objHead = new JSONObject();
obj.put("head", objHead);
objHead.put("code", -100);
JSONObject objMsg = new JSONObject();
objHead.put("message", objMsg);
objMsg.put("title", "");
objMsg.put("detail", "");
#4
后台即使直接给前台发字符串,js也能解析。但后台解析json就要用new JSONObject(str)或者new JSONARRAY(str)了
#5
#6
楼上的大神,我已经花了很长的时间来考虑这个问题,但是还是没有解决,所以很不好意思的在想您请教了。
对于这个问题,为什么不能直接用这个函数 new JSONObject(str)来把那个(我上文提到的字符串)转化成JSONobject?而是要通过您在上文说列出的代码那样来处理。
还是就是,虽然您已经在上面举了个例子,
JSONObject obj = new JSONObject();
JSONObject objHead = new JSONObject();
obj.put("head", objHead);
objHead.put("code", -100);
JSONObject objMsg = new JSONObject();
objHead.put("message", objMsg);
objMsg.put("title", "");
objMsg.put("detail", "");
但是因为在json字符串中存在数组,我不知道该如何处理?
所以请你能不能把剩下的字符串转化成JSONobject的代码 也写一下。。谢谢了。
对于这个问题,为什么不能直接用这个函数 new JSONObject(str)来把那个(我上文提到的字符串)转化成JSONobject?而是要通过您在上文说列出的代码那样来处理。
还是就是,虽然您已经在上面举了个例子,
JSONObject obj = new JSONObject();
JSONObject objHead = new JSONObject();
obj.put("head", objHead);
objHead.put("code", -100);
JSONObject objMsg = new JSONObject();
objHead.put("message", objMsg);
objMsg.put("title", "");
objMsg.put("detail", "");
但是因为在json字符串中存在数组,我不知道该如何处理?
所以请你能不能把剩下的字符串转化成JSONobject的代码 也写一下。。谢谢了。
#7
数组它提供了另一个对象,其实你Google下就全都有了,叫做:JSONArray
比如:
JSONArray jsonArray = new JSONArray();
jsonArray.add(0, "this is a jsonArray value");
jsonArray.add(1,"another jsonArray value");
参见这里:
http://hi.baidu.com/suny_duan/blog/item/57bca828429919f498250a78.html
比如:
JSONArray jsonArray = new JSONArray();
jsonArray.add(0, "this is a jsonArray value");
jsonArray.add(1,"another jsonArray value");
参见这里:
http://hi.baidu.com/suny_duan/blog/item/57bca828429919f498250a78.html
#1
httppost.setEntity(new StringEntity(obj.toString()));
这不就已经准备完毕了,直接就可以执行了。。。还需要干啥?
这不就已经准备完毕了,直接就可以执行了。。。还需要干啥?
#2
但是我要发送的那个字符串要怎么处理啊?
我要他们一对一对的值,全部都用obj.put();写吗?
求详解。
3Q
#3
还是没十分理解你的最终目的,不过我猜测是对嵌套关系存疑虑。
如果你的内容没有嵌套关系,就全都是ojb.put(key, value);
如果有嵌套关系,就是 subObj=new JSONObject();obj.put(key, subObj);
如果需要数组,就用JSONArray 对象。
那么你需要的是:{header:{"code": -100, "message": {"title": "", "detail": ""}},body:{dataStores:{},parameters:{"args": ["menu_jw_pj_xspj_x", ">>"], "responseParam": "tooltip"}}}
这里面是有嵌套关系的,你先将其格式化,然后就知道嵌套关系了:
注意方括号代表数组。
以前面为例:
JSONObject obj = new JSONObject();
JSONObject objHead = new JSONObject();
obj.put("head", objHead);
objHead.put("code", -100);
JSONObject objMsg = new JSONObject();
objHead.put("message", objMsg);
objMsg.put("title", "");
objMsg.put("detail", "");
如果你的内容没有嵌套关系,就全都是ojb.put(key, value);
如果有嵌套关系,就是 subObj=new JSONObject();obj.put(key, subObj);
如果需要数组,就用JSONArray 对象。
那么你需要的是:{header:{"code": -100, "message": {"title": "", "detail": ""}},body:{dataStores:{},parameters:{"args": ["menu_jw_pj_xspj_x", ">>"], "responseParam": "tooltip"}}}
这里面是有嵌套关系的,你先将其格式化,然后就知道嵌套关系了:
{
header : {
"code" : -100, "message" : {
"title" : "", "detail" : ""
}
}, body : {
dataStores : {}, parameters : {
"args" : [ "menu_jw_pj_xspj_x", ">>" ], "responseParam" : "tooltip"
}
}
};
注意方括号代表数组。
以前面为例:
JSONObject obj = new JSONObject();
JSONObject objHead = new JSONObject();
obj.put("head", objHead);
objHead.put("code", -100);
JSONObject objMsg = new JSONObject();
objHead.put("message", objMsg);
objMsg.put("title", "");
objMsg.put("detail", "");
#4
后台即使直接给前台发字符串,js也能解析。但后台解析json就要用new JSONObject(str)或者new JSONARRAY(str)了
#5
#6
楼上的大神,我已经花了很长的时间来考虑这个问题,但是还是没有解决,所以很不好意思的在想您请教了。
对于这个问题,为什么不能直接用这个函数 new JSONObject(str)来把那个(我上文提到的字符串)转化成JSONobject?而是要通过您在上文说列出的代码那样来处理。
还是就是,虽然您已经在上面举了个例子,
JSONObject obj = new JSONObject();
JSONObject objHead = new JSONObject();
obj.put("head", objHead);
objHead.put("code", -100);
JSONObject objMsg = new JSONObject();
objHead.put("message", objMsg);
objMsg.put("title", "");
objMsg.put("detail", "");
但是因为在json字符串中存在数组,我不知道该如何处理?
所以请你能不能把剩下的字符串转化成JSONobject的代码 也写一下。。谢谢了。
对于这个问题,为什么不能直接用这个函数 new JSONObject(str)来把那个(我上文提到的字符串)转化成JSONobject?而是要通过您在上文说列出的代码那样来处理。
还是就是,虽然您已经在上面举了个例子,
JSONObject obj = new JSONObject();
JSONObject objHead = new JSONObject();
obj.put("head", objHead);
objHead.put("code", -100);
JSONObject objMsg = new JSONObject();
objHead.put("message", objMsg);
objMsg.put("title", "");
objMsg.put("detail", "");
但是因为在json字符串中存在数组,我不知道该如何处理?
所以请你能不能把剩下的字符串转化成JSONobject的代码 也写一下。。谢谢了。
#7
数组它提供了另一个对象,其实你Google下就全都有了,叫做:JSONArray
比如:
JSONArray jsonArray = new JSONArray();
jsonArray.add(0, "this is a jsonArray value");
jsonArray.add(1,"another jsonArray value");
参见这里:
http://hi.baidu.com/suny_duan/blog/item/57bca828429919f498250a78.html
比如:
JSONArray jsonArray = new JSONArray();
jsonArray.add(0, "this is a jsonArray value");
jsonArray.add(1,"another jsonArray value");
参见这里:
http://hi.baidu.com/suny_duan/blog/item/57bca828429919f498250a78.html