当前位置:首页 » 网页前端 » aspnetwebapijson
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

aspnetwebapijson

发布时间: 2022-06-17 09:03:59

Ⅰ 桌面程序怎样通过webapi获取json数据

首先要思考下为什么google要开发api呢,因为google的产品用户很多,他们的需求也是各种各样的,打个比方adwords,用户可以下载google adwords editors这样的桌面软件去操作,也可以通过google adwords的界面去操作,但是用户同时也要操作 推广助手,有技术的客户就想 能不能自己开发一款软件 打通这2个产品google adwords和网络推广,同时可以操作,所以api接口就给了这样的可能,这是和同类型产品对接,方便用户统一操作,
还有一个例子,google analytics自定义运用,每周都需要发报告给客户,虽然google analytics有自动报告功能,但是如果有报告固定的格式,每周都是人共去google analytics里面去拉数据 然后填进去的话, 完全可以用web或者客户端的方式自动去取数据,然后填充到模板里面(模板可以通过web方式整合成html代码 再通过api把html代码中的数字替换)再加个发信函数,这样每个星期都可以有一份图文并茂 并且随时调整模板的报告邮件了,同时你甚至可以同时集合ga和adwords Bai的数据这样就省掉大量人工发信的时间。这里api的作用是整合其他信息,一起制作需要的产品,节约时间
未来的社会是开发的社会,只有把产品的接口开放出来,用户安装自己的想法加以利用就可以让产品使用的人更加方便

Google analytics的数据是支持通过api按需导出 甚至你可以制作成email或者整合在你的网站后台中,这些都只是需要api,再开始之前先介绍下
什么是api呢 你可以理解就是通用的函数 可以调用google的服务的数据 例如google analytics数据,
什么是token,token就是一串帐号密码,不过这个是随机变动的,因为在互联网中传输信息,所以最好有一套随机变动的密码来保证信息的安全,
什么是Python,python是一个很简单的程序语言,安装下就可以用就和vb一样 但是他很强壮 据说只要电脑能做的事 他就能做 无所不能 和硬件交互也没问题的
什么是Json 文件 是一种类似txt文件的一种文本文件,这里用来保存机密的信息例如你的帐号密码
什么是Google api library库,电脑安装了python只能说是安装了一个基本的语言环境,你要实现某些功能还需要程序,google把这些可以操作自己服务的基础数据的文件打包成库文件 记住这里的库并不是所以的google的服务的程序都在里面,只是定义了一个基本的接口和传输方法,你要运行google analytics 还是需要定义一些函数来操作的 然后再引用google api的 库文件
什么是客户端 google的 api分多种 你既可以通过web 的应用来获取数据(要绑定运行的网站的域名,主要也是为安全) 也可以通过本地的程序,这里为了演示方法 我用的本地程序,所以我这里的客户端是桌面程序应用

Ⅱ asp.net webapi 控制器里面的post方法是怎么把json转化为实体类的

var _data={Id:id,Name:name};
$.ajax({
type: "post",
url: "url",
data: _data,
success: function (data) {
}
})

Id 和 Name就对应作为后台参数,名字需要保持一致哦

Ⅲ c#mvc中的webapi怎么迫使服务端返回字符串

返回值是string就好了。

publicstringGet(intid)
{
return"字符串";
}

用AJAX取json格式的就是这样的。

Ⅳ webapi读取json webapi读取json时,获取的数据为空(webhook)

转载 在使用Web Api的时候,有时候只想返回JSON;实现这一功能有多种方法,本文提供两种方式,一种传统的,一种作者认为是正确的方法。

JSON in Web API – the formatter based approach

只支持JSON最普遍的做法是:首先清除其他所有的formatters,然后只保留JsonMediaTypeFormatter。

有了HttpConfiguration的实例,你将会很简单的清除所有formatters,然后重新添加JsonMediaTypeFormatter。

实现代码如下:

configuration.Formatters.Clear();
configuration.Formatters.Add(new JsonMediaTypeFormatter());这种方式虽然可以实现功能,但是所有的conent negotiation还是会发生,这就会产生以下额外的开销了。因为,你已经知道要返回的结果了,也只想返回Json,其他的content negotiation都不需要了。

下面的方法可以很好的解决这个问题。JSON in Web API – the conneg based approach

最好的方法是使用自定义的只返回Json Result的content negotiation代替Web Api中默认的content negotiation。

Conneg通过实现IContentNegotiator的Negotiator方法实现扩展。Negotiator方法返回ContentNegotiationResult(它包装了你选择的headers和formatter)。

下面的方法通过传递一个JsonMediaTypeFormatter给自定义的conneg negotiator,让它一直返回applicaton/json 的content-type以及JsonMediaTypeFormatter。这种方法避免了每次请求都要重新创建一次formatter。

代码如下:

public class JsonContentNegotiator : IContentNegotiator
{
private readonly JsonMediaTypeFormatter _jsonFormatter;

public JsonContentNegotiator(JsonMediaTypeFormatter formatter)
{
_jsonFormatter = formatter;
}

public ContentNegotiationResult Negotiate(Type type, HttpRequestMessage request, IEnumerable<MediaTypeFormatter> formatters)
{
var result = new ContentNegotiationResult(_jsonFormatter, new MediaTypeHeaderValue("application/json"));
return result;
}
}接下来,你需要在HttpConfiguration实例上注册你的新的实现机制:var jsonFormatter = new JsonMediaTypeFormatter();
//optional: set serializer settings here
config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter));

通过替换默认的DefaultContentNegotiator,我们使用我们自定义的JsonContentNegotiator,它只支持Json,而且可以马上返回。

如果你想更深入的了解Content Negotiation的知识,你可以查看作者的这篇文章。

总结

通过使用自定义的JsonContentNegotiator替换系统默认的DefaultContentNegotiator,很好的实现Web Api只返回Json的功能,而且没有额外的开销。

Ⅳ 如何设置webapi返回json或jsonp

ing System.Net;
using System.Net.Http.Formatting;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using System.Web;
using System.Net.Http;
using Newtonsoft.Json.Converters;
using System.Web.Http;

namespace Westwind.Web.WebApi
{

/// <summary>
/// Handles JsonP requests when requests are fired with text/javascript
/// </summary>
public class JsonpFormatter : JsonMediaTypeFormatter
{

public JsonpFormatter()
{
SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));
SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/javascript"));

JsonpParameterName = "callback";
}

/// <summary>
/// Name of the query string parameter to look for
/// the jsonp function name
/// </summary>
public string JsonpParameterName {get; set; }

/// <summary>
/// Captured name of the Jsonp function that the JSON call
/// is wrapped in. Set in GetPerRequestFormatter Instance
/// </summary>
private string JsonpCallbackFunction;

Ⅵ webapi 传回xml或者json怎么限定

返回的时候封装成json即可。
参考: Student st1 = new Student(1, "dg", 18, new Date());
Student st2 = new Student(2, "dg", 18, new Date());
Student st3 = new Student(3, "dg", 18, new Date());
Student st4 = new Student(4, "dg", 18, new Date());
Student st5 = new Student(5, "dg", 18, new Date());
List li = new ArrayList();
JSONObject JO1 = new JSONObject(st1);
JSONObject JO2 = new JSONObject(st2);
JSONObject JO3 = new JSONObject(st3);
JSONObject JO4 = new JSONObject(st4);
JSONObject JO5 = new JSONObject(st5);
li.add(JO1);
li.add(JO2);
li.add(JO3);
li.add(JO4);
li.add(JO5);
JSONArray Ja = new JSONArray(li);
Map ma = new HashMap();
ma.put("Result", "OK");
ma.put("Records", Ja);
JSONObject js = new JSONObject(ma);

out.print(js);
返回结果:
{"Result":"OK","Records":[{"recordDate":"Fri Dec 16 17:54:39 CST 2011","name":"dg","age":18,"personId":1},{"recordDate":"Fri Dec 16 17:54:39 CST 2011","name":"dg","age":18,"personId":2},{"recordDate":"Fri Dec 16 17:54:39 CST 2011","name":"dg","age":18,"personId":3},{"recordDate":"Fri Dec 16 17:54:39 CST 2011","name":"dg","age":18,"personId":4},{"recordDate":"Fri Dec 16 17:54:39 CST 2011","name":"dg","age":18,"personId":5}]}

可以将存放Java对象的 列表 直接转化为 json 数组 或对象,不必要过分麻烦的转换。
数据库取出后换:
SourceDao sd = new SourceDao();
JSONArray ja = new JSONArray(sd.query(content));

Ⅶ 在WebApi中返回一个JSON格式的数据,如何到客户端就变了

转载 在使用Web Api的时候,有时候只想返回JSON;实现这一功能有多种方法,本文提供两种方式,一种传统的,一种作者认为是正确的方法。

JSON in Web API – the formatter based approach

只支持JSON最普遍的做法是:首先清除其他所有的formatters,然后只保留JsonMediaTypeFormatter。

有了HttpConfiguration的实例,你将会很简单的清除所有formatters,然后重新添加JsonMediaTypeFormatter。

实现代码如下:

configuration.Formatters.Clear();
configuration.Formatters.Add(new JsonMediaTypeFormatter());这种方式虽然可以实现功能,但是所有的conent negotiation还是会发生,这就会产生以下额外的开销了。因为,你已经知道要返回的结果了,也只想返回Json,其他的content negotiation都不需要了。

下面的方法可以很好的解决这个问题。

JSON in Web API – the conneg based approach

最好的方法是使用自定义的只返回Json Result的content negotiation代替Web Api中默认的content negotiation。

Conneg通过实现IContentNegotiator的Negotiator方法实现扩展。Negotiator方法返回ContentNegotiationResult(它包装了你选择的headers和formatter)。

下面的方法通过传递一个JsonMediaTypeFormatter给自定义的conneg negotiator,让它一直返回applicaton/json 的content-type以及JsonMediaTypeFormatter。这种方法避免了每次请求都要重新创建一次formatter。

代码如下:

public class JsonContentNegotiator : IContentNegotiator
{
private readonly JsonMediaTypeFormatter _jsonFormatter;

public JsonContentNegotiator(JsonMediaTypeFormatter formatter)
{
_jsonFormatter = formatter;
}

public ContentNegotiationResult Negotiate(Type type, HttpRequestMessage request, IEnumerable<MediaTypeFormatter> formatters)
{
var result = new ContentNegotiationResult(_jsonFormatter, new MediaTypeHeaderValue("application/json"));
return result;
}
}接下来,你需要在HttpConfiguration实例上注册你的新的实现机制:

var jsonFormatter = new JsonMediaTypeFormatter();
//optional: set serializer settings here
config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter));

通过替换默认的DefaultContentNegotiator,我们使用我们自定义的JsonContentNegotiator,它只支持Json,而且可以马上返回。

如果你想更深入的了解Content Negotiation的知识,你可以查看作者的这篇文章。

总结

通过使用自定义的JsonContentNegotiator替换系统默认的DefaultContentNegotiator,很好的实现Web Api只返回Json的功能,而且没有额外的开销。

Ⅷ js调用跨域get请求调用asp.net webApi 多出个options请求是为什么

出于安全的考虑,JS是不允许跨域访问的。

但是如果你非要用JS实现,你可以写一个hander,然后JS调用这个hander。

Ⅸ .net webapi怎么接收到json格式的参数

参数直接用model,调用的时候给按这个model 的格式序列化,映射到action的时候,自动会转换为对应的model

Ⅹ C#怎么从http上返回JSON数据并读取

你这个应该是两个问题,
1、如何从http返回json
2、如何使用C#读取从http返回的json
解决方案:
问题1:http返回json可以使用webapi技术,自己开发一个webapi接口用于从数据库读取并提供数据。
问题2:首先要说一下,http的json如果是前端程序还是用javascript读取比较好。如果是后端的话,只能使用C#读取,使用HttpClient或者HttpWebRequest。
HttpClient方式:
using (WebClient client = new WebClient())
{
client.Headers["Type"] = "GET";
client.Headers["Accept"] = "application/json";
client.Encoding = Encoding.UTF8;
client.DownloadStringCompleted += (senderobj, es) =>
{
var obj = es.Result;
};
client.DownloadStringAsync("http://localhost:41558/api/Demo");
}
HttpWebRequest方式:略(写上之后网络页面报错!!!)
另外http方式的调用,分为get、post、put等方式。需要注意服务器端的情况。

上述例子引用自http://www.cnblogs.com/MuNet/p/6732338.html