求助php接口返回json数据数据怎么取值

查看: 4760|回复: 6
模拟请求微信获取素材列表接口,拿不到想要的结果
该用户从未签到
使用浏览器插件RestClient模拟POST请求,可以拿到返回结果:
1.png (33.02 KB, 下载次数: 3)
10:41 上传
使用HttpHelper拿不到结果,微信返回的结果告知参数出错,是参数没传过去么?
[JavaScript] 纯文本查看 复制代码
type: &POST&,
url: '/NewMedia/PostWeiXinData',
data: { url: &https://api.weixin.qq.com/cgi-bin/material/batchget_material&, Id: &7&, type: &news&, offset: 0, count: 20 },
success: function (data) {
console.log(data);
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log(XMLHttpRequest);
console.log(textStatus);
console.log(errorThrown);
[C#] 纯文本查看 复制代码
[HttpPost]
public ContentResult PostWeiXinData(string url, int Id)
var model = ser_NewMedia_WeiXin.Find(Id);
if (model == null)
return Content(&&);
string param = string.E
for (int i = 0; i & Request.Form.C i++)
if (Request.Form.Keys[i].ToLower() != &url& && Request.Form.Keys[i].ToLower() != &id&)
param += Request.Form.Keys[i] + &=& + Request.Form[i] + &&&;
param += &access_token=& + model.Access_Token + &&&;
HttpHelper http = new HttpHelper();
HttpItem item = new HttpItem()
URL = url,
Method = &post&,
ContentType = &application/x-www-form-urlencoded&,
Postdata = string.IsNullOrEmpty(param) ? null : param.Trim('&')
HttpResult result = http.GetHtml(item);
return Content(result.Html);
参数都拼接上了,跟RestClient工具一样,理论上应该能传过去的:
2.png (9.21 KB, 下载次数: 66)
10:44 上传
但是微信接口返回:
{&errcode&:40004,&errmsg&:&invalid media type hint: [UK3j]&}
参数type不对,其实是对的,莫非是没post过去?
TA的每日心情开心前天&09:09签到天数: 554 天[LV.9]以坛为家II
这个要好好看看接口了,微信SDK这边一直使用Htttphelper没一点问题,或者你下载个最新的试试
该用户从未签到
这个要好好看看接口了,微信SDK这边一直使用Htttphelper没一点问题,或者你下载个最新的试试
上次问题排查完之后用的是最新版的httphelper 1.6版本。
参数如下,站长是否有空调用下:
postData:
& &&type&:&news&,
& &&offset&:0,
& &&count&:20
我上面调用返回结果始终不对,微信错误码显示type不对,其实是对的,莫非是HttpHelper没把type给post过去?
该用户从未签到
可以了,把postData拼接成了{
& &&type&:&news&,
& &&offset&:&0&,
& &&count&:&2&
} 这种形式就可以了
同时借助了这个工具:
该用户从未签到
本帖最后由 心态要好 于
12:01 编辑
请求回来都是乱码,请教如何处理,站长看这里:
-更新:乱码问题也解决了,换成UTF-8就可以了,默认没识别,是乱码
[C#] 纯文本查看 复制代码HttpItem item = new HttpItem()
URL = url + &?access_token=& + model.Access_Token,
Method = &POST&,
Encoding = Encoding.UTF8,
//ContentType = &application/x-www-form-urlencoded&,
Postdata = param
TA的每日心情开心前天&09:09签到天数: 554 天[LV.9]以坛为家II
TA的每日心情擦汗 08:56签到天数: 51 天[LV.5]常住居民I
我只是路过打酱油的。「求助」Spring 同一个接口根据 Content-Type 返回不同的数据
17:11:05 +08:00 · 1583 次点击
需求是具体是这样的,目前的后端是 Spring 渲染好 Freemarker 页面后直接返回 HTML 页面
代码可能如下:
@RequestMapping("/index")
public String hello(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name);
return "index";
我的理解就是, Model 先填充数据,然后再用 Model 填充 index.ftl ,然后再返回 index.html
但是,我有时候的需求是,如果我请求的 Content-Type 指定是 json 的话,那么直接把 Model 里的数据当作 JSON 返回即可,不要去渲染 ftl 了
我看到网上大多数的解决方法是的:
@Controller
public class PersonController
private static List&Person& personL
personList =
Arrays.asList(new Person[]
{ new Person(1, "Pas", "Apicella"),
new Person(2, "Lucia", "Apicella"),
new Person(3, "Lucas", "Apicella"),
new Person(4, "Siena", "Apicella")
@RequestMapping(value="/people",
method = RequestMethod.GET,
produces={"application/xml", "application/json"})
@ResponseStatus(HttpStatus.OK)
public @ResponseBody People listWithJSON()
return new People(personList);
// View-based method
@RequestMapping(value = "/people", method = RequestMethod.GET)
public String listWithView(Model model, HttpServletResponse response, HttpServletRequest request)
// Call RESTful method to avoid repeating code
model.addAttribute("peopleList", listWithJSON().getPeople());
// Return the view to use for rendering the response
return "people";
其实,都是一类解决方法
这样做的问题很明显:
破坏业务代码逻辑
写太多重复代码
在已经有很多页面的系统上追加额外方法太浪费时间
从编程角度看,我觉得是否有种方法,在稍微底层逻辑上加个类似 Monkey Patch 或者 AOP 类似方法,可能就几行代码,也可能仅仅是配置,就可以实现这个需求呢?
如果这个从技术上来看不可行,是否有代价非常小的做法呢?
PS :我本人不是 Java 程序员,表述有不合规的地方请指出
6 回复 &| &直到
09:38:00 +08:00
& & 17:12:49 +08:00
@ @ 看到两位经常讨论 Java ,跪求解答
& & 17:25:05 +08:00
调试下 就好了.. 记得,好像,在 resolver 上....
& & 17:29:56 +08:00
不是程序员的话,把这样的事情交给程序员就好啦。要相信你的程序员
& & 18:51:53 +08:00
如果是 JSON 的话直接打印出来就行了 不需要传值到页面上 再做相关处理 ,不知道我是不是理解对了
& & 19:16:15 +08:00
& & 09:38:00 +08:00
Spring MVC 内置 Content Negotiation 机制如果你的请求里面带有后缀的话 举个例子 index.json 就会认为请求的数据是 json 。后缀优先级高Accept header 优先级较低。所以前端我建议请求不带后缀 统一用 header 然后不带 header 的给设一个默认的 比如 freemarker思路是这样。搜一下 spring mvc content negotiation 吧
& · & 1250 人在线 & 最高记录 3762 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 20ms · UTC 16:42 · PVG 00:42 · LAX 09:42 · JFK 12:42? Do have faith in what you're doing.帐号:密码:下次自动登录{url:/nForum/slist.json?uid=guest&root=list-section}{url:/nForum/nlist.json?uid=guest&root=list-section}
贴数:8&分页:小宝无忌发信人: xbwj (小宝无忌), 信区: ProgramTrading
标&&题: [求助]交易数据获取接口
发信站: 水木社区 (Fri Sep&&4 19:23:31 2015), 站内 && 今天没事用wind个人版写了个程序获取交易数据,但是最后发现只能获取一部分股票的数据,请问各位有什么其它稳定的渠道或者接口可以程序化获取交易数据吗?
-- && ※ 来源:·水木社区 ·[FROM: 222.73.197.*]
faruto发信人: faruto (faruto), 信区: ProgramTrading
标&&题: Re: [求助]交易数据获取接口
发信站: 水木社区 (Mon Sep&&7 13:44:25 2015), 站内 && see&&&&
-- && ※ 来源:·水木社区 ·[FROM: 125.35.79.*]
发信人: JohnDay (xq442.com 星圈大数据股票分析), 信区: ProgramTrading
发信站: 水木社区 (Mon Sep&&7 14:28:46 2015), 站内 && ※ 修改:·JohnDay 于 Oct 11 12:36:04 2016 修改本文·[FROM: 114.91.32.*]
※ 来源:·水木社区 ·[FROM: 210.13.91.*]
渔父发信人: RuralHunter (乡村猎人), 信区: ProgramTrading
标&&题: Re: [求助]交易数据获取接口
发信站: 水木社区 (Mon Sep&&7 19:46:30 2015), 站内 && 哥们牛b && 【 在 faruto 的大作中提到: 】
-- && ※ 来源:·水木社区 ·[FROM: 116.237.220.*]
faruto发信人: faruto (faruto), 信区: ProgramTrading
标&&题: Re: [求助]交易数据获取接口
发信站: 水木社区 (Tue Sep&&8 09:29:39 2015), 站内 &&&& 直接用matlab生成的网页。 && 有个性。 &&&& 【 在 JohnDay 的大作中提到: 】
: 这网站页面显示奇丑无比, 而且还没备案号
: 不过我很喜欢. 哈哈哈
&& -- && ※ 来源:·水木社区 ·[FROM: 125.35.79.*]
求大运,求好运!发信人: charlie88 (求大运,求好运!), 信区: ProgramTrading
标&&题: Re: [求助]交易数据获取接口
发信站: 水木社区 (Tue Sep&&8 10:43:59 2015), 站内 && 当当买的能不能要签名啊,哈哈。 &&&& 【 在 faruto (faruto) 的大作中提到: 】
: 直接用matlab生成的网页。
: 有个性。
&& -- && ※ 来源:·水木社区 ·[FROM: 125.86.92.*]
faruto发信人: faruto (faruto), 信区: ProgramTrading
标&&题: Re: [求助]交易数据获取接口
发信站: 水木社区 (Thu Sep 10 15:12:53 2015), 站内 && 没问题啊。 && 十月份会有一个读者见面会。到时候可以见面交流讨论。lol: && 具体时间地点关注我微信公众号 FQuantStudio && 【 在 charlie88 的大作中提到: 】
: 当当买的能不能要签名啊,哈哈。
:&& && -- && ※ 来源:·水木社区 ·[FROM: 125.35.79.*]
求大运,求好运!发信人: charlie88 (求大运,求好运!), 信区: ProgramTrading
标&&题: Re: [求助]交易数据获取接口
发信站: 水木社区 (Thu Sep 10 16:24:44 2015), 站内 && 善,我觉得书写的还是很快糙猛de ! &&&& 【 在 faruto (faruto) 的大作中提到: 】
: 没问题啊。
: 十月份会有一个读者见面会。到时候可以见面交流讨论。lol:
: 具体时间地点关注我微信公众号 FQuantStudio
&& -- && ※ 来源:·水木社区 ·[FROM: 125.86.91.*]
文章数:8&分页:我现在是在做一个简单的接口测试,注册和登录接口,用户注册成功后,从response中获取用户名和密码,作为参数请求登录接口,下面是我的设置。
这是我的注册接口设置:
1.body注册用户传入参数设置
2.body的tests中设置变量,从response中获取数据的设置
这是我的登录接口设置:
可是最后返回来的数据是这样:
设置的变量没有被当做变量,我的代码哪里写错了,还是哪里没有设置,求助各位大神,谢谢。
「All right reserved, any unauthorized reproduction or transfer is prohibitted」
先确认注册有执行么?还有data.name有值没有
注册有值返回,看图
怎么写代码可以看到data.name有值没有
postman用的很少。
你没有environment
postman这个做的不好,要有一个environment,这样你前面才能写进去,后面才能取到。
为什么不直接写代码呢...
用的jmeter,有这个功能。
我在注册哪里不是写了postman.setEnvironmentVariable("name", data.name);这句不是设置环境变量吗?还需要怎么样设置啊
不是你代码里面的。
是右上角的那个,新建并选中一个environment。
好的,明白了,成功了,谢谢
觉得postman这块应该改进下,设定一个 缺省的environment,不管选不选,都在缺省的default environment中。
这样,对于这样自己生成,自己用的变量,可以直接使用。
试试全局变量,如下:
我之前用的这个是好使的 取的时候{{xxx}}
楼主,这个就是设置environment中参数,然后使用变量就可以了。
首次使用的,要在你截图的右上角的位置(如下图)设置environment就可以了
亲,我试过设置环境变量,可是为啥没有传进去呢?
你好~解决了吗?我遇到同样的困惑!求帮忙~~~
,· 8楼 · February 16, 2017
不是你代码里面的。
是右上角的那个,新建并选中一个environment。
这个environment里面是怎么写key和value的值的?
后方可回复, 如果你还没有账号请点击这里 。
dongcx (董春霞)
第 15063 位Users /
共收到 16 条回复

我要回帖

更多关于 接口返回json数据 的文章

 

随机推荐