如何使json api

对不起,如果这是一个基本的问题。 但我打算为我的网站做一个API。 首先这个api会被我使用,但后来我会发布给开发者使用它。 我很困惑,这个网站将被用于移动应用程序和网站。 我打算为此制作Android应用程序。

问题是我必须在不同的语言,例如在Android平台的Java,Objective C的iOS和JavaScriptPHP的Web?

如果我只在JavaScript中做到这一点,它会在多个平台上工作吗?

Solutions Collecting From Web of "如何使json api"

在服务器端,您的JSON API将在一个平台上用一种语言编写,这可能是PHP,.NET或您select的任何平台。

在客户端(iPhone,Android等)您需要编写一个客户端,能够发出请求并处理对您的JSON API的响应。

然而,为了强化客户端API的一致性,你可以使用一个模式,比如request-reply模式,我总是把它用作易于使用和实现的模式。

这个想法是针对每个JSON API方法的,你有一个Request类和一个Response类。 您还将编写一个代表您的JSON API的服务客户端。

一个例子

比方说,我有一个JSON服务,从我的地址簿给我联系细节,它可以有这些服务方法:

/contact/{id} /address_book /save_contact/{id} 

我的服务客户端(以Java为例)可以有这个接口:

 public interface AddressBookClient { public GetContactResponse getContact(GetContactRequest request); public GetAddressBookResponse getAddressBook(GetAddressBookRequest request); public SaveContactResponse saveContact(SaveContactRequest request); } 

虽然在不同的客户端平台上实现会有所不同,但是使用相同的方法或模式会使它们保持一致。

希望有所帮助。

我会build议像基于JSON的REST完整的API。

这使得你的API语言是独立的。

一旦API被制作出来,你就可以用stream行的语言制作客户端库。

如果API是基于JSON的,那么它现在已经实现了几乎所有stream行的语言。 您可以在不同语言的应用程序之间进行通信,而不会出现问

您可以在官方JSON网站上查看各种语言库的大量列表。

我正在使用URL来请求JSON:

 api.example.com/api.php?action=User.login&username=admin&password=111 

JSON响应是:

 { "resultcode":100, "resultdata":{ "id":"1", "username":"admin", "password":"$1$$TUPijxhaACBBZHMowbtgD.", "name":"chenwendong", "email":"mdowen@foxmail.com", "sex":"\u7537", "age":"11", "phone":"15811111111", "address":"\u5317\u4eac\u7231\u7231\u7231\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a\u554a", "province_id":"1", "city_id":"1", "last_login_ip":"127.0.0.1", "last_login_time":"2012-05-07 17:32:55", "state":"1", "intime":"2012-05-07 09:49:11", "is_deleted":"0", "province":"\u5317\u4eac\u5e02", "city":"", "sid":"fcd6321c4cd4748a0cee2e7cc337506b", "uid":"1", "message_count":"11" } } 

然后,有人可以使用Android JSON来解码它。