Mashape APIからJSONを取得するために nirestライブラリ を使用しています。私は次のコードを使用して呼び出しを動作させています:
_HttpResponse<JsonNode> request = Unirest.get(URL)
.header("X-Mashape-Authorization", MASHAPE_AUTH)
.asJson();
_
これにより、_HttpResponse<JsonNode>
_の形式でJSONが返されますが、これはよくわかりません。
限られた documentation を読むことから、JsonNodeオブジェクトを取得するために応答オブジェクトでgetBody()
を呼び出す必要があるようです。ただし、JsonNodeオブジェクトをどうするかはまだわかりません。
このデータの解析を開始する最良の方法は何ですか?
Edit:例の提供に役立つ場合、解析したいJSONは次のようになります。
_{
"success": "1",
"error_number": "",
"error_message": "",
"results": [
{
"name": "name1",
"formatedName": "Name 1"
},
{
"name": "testtesttest",
"formatedName": "Test Test Test"
},
{
"name": "nametest2",
"formatedName": "Name Test 2"
},
{
"name": "nametest3",
"formatedName": "Name Test 3"
}
]
}
_
今日私自身でこれを理解しようとしていました。ソースコードは、おそらくあなたが入手しようとしている唯一のドキュメントです。これがtl; drです
_// the request from your question
HttpResponse<JsonNode> request = Unirest.get(URL)
.header("X-Mashape-Authorization", MASHAPE_AUTH)
.asJson();
// retrieve the parsed JSONObject from the response
JSONObject myObj = request.getBody().getObject();
// extract fields from the object
String msg = myObj.getString("error_message");
JSONArray results = myObj.getJSONArray();
_
ここに、私が行ったスペルチェックの説明があります。
HttpResponseクラス から、getBody()
がインスタンス変数body
を返すことがわかります。
_this.body = (T) new JsonNode(jsonString)
_
そのため、 JsonNodeクラスを調べる必要があります 。コンストラクターは、解析されるJSONを表す文字列を受け取り、JSONObject
またはJSONArray
の作成を試みます。これらのオブジェクトは_org.json
_に由来し、 よく文書化されています 、ありがたいことに。
Unirestにはシリアル化機能があります(おそらく2015年と2014年の回答後に登場しました)。現在のバージョン1.4.9では、便利なasObject(Class)およびbody(Object)メソッドを使用できます。以下は、AWS CloudSearchレスポンスのデシリアライズの例です。
import Java.util.Arrays;
import org.Apache.http.HttpStatus;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.ObjectMapper;
import com.mashape.unirest.http.Unirest;
import com.mashape.unirest.http.exceptions.UnirestException;
public class UnirestExample {
public class Item {
private String full4kurl;
private String previewurl;
private String description;
@Override
public String toString() {
return "{full4kurl:" + full4kurl + ", previewurl:" + previewurl
+ ", description:" + description + "}";
}
}
public class Hit {
private String id;
private Item fields;
@Override
public String toString() {
return "{id:" + id + ", fields:" + fields + "}";
}
}
public class Hits {
private int found;
private int start;
private Hit[] hit;
@Override
public String toString() {
return "{found:" + found + ", start:" + start + ", hit:"
+ Arrays.toString(hit) + "}";
}
}
public class CloudSearchResult {
private Hits hits;
@Override
public String toString() {
return "{hits:" + hits + "}";
}
}
public static final String END_POINT = "AWS CloudSearch URL";
static {
Unirest.setTimeouts(1000, 5000);
Unirest.setObjectMapper(new ObjectMapper() {
private Gson gson = new GsonBuilder().disableHtmlEscaping()
.create();
@Override
public <T> T readValue(String value, Class<T> valueType) {
return gson.fromJson(value, valueType);
}
@Override
public String writeValue(Object value) {
return gson.toJson(value);
}
});
}
public static void main(String[] args) throws UnirestException {
HttpResponse<CloudSearchResult> response = Unirest.post(END_POINT)
.header("Header", "header").body("body")
.asObject(CloudSearchResult.class);
if (response.getStatus() == HttpStatus.SC_OK) {
CloudSearchResult body = response.getBody();
System.out.println(body);
} else {
throw new RuntimeException("Fail to invoke URL ");
}
}
}
応答は文字列として簡単に取得されるため、JSONを手動で処理したくない場合は、デシリアライズに必要なJSONライブラリを使用できます。個人的には、GoogleのGSONと、JSONレスポンスを、作成するオブジェクトに簡単にマッピングできるGoogleのGSONに不満を感じています。
HttpRequest request = Unirest.get(/*your request URI*/)
.headers(/*if needed*/)
.queryString(/*if needed*/);
HttpResponse<JsonNode> jsonResponse = request.asJson();
Gson gson = new Gson();
String responseJSONString = jsonResponse.getBody().toString();
MyResponseObject myObject = gson.fromJson(responseJSONString, String.class);
JSON文字列には、解析をガイドする2つのシンボルがあります。
{-JSONObjectを示します
[-JSONArrayを示します
JSON文字列を解析するとき、この項目を繰り返し処理する必要があります。文字列に含まれるJsonObjectとJsonArrayの数と、解析の開始元を理解するには、 this website のようなjson-visualizerツールを使用します。あなたの文字列の例については、構造は次のようになります:
ご覧のとおり、ルートオブジェクトは3つのjsonOnjectを持つJSONArrayで構成されるJSONObjectです。このような構造を解析するには、次を使用できます。
JSONObject jsonobj = new JSONObject(jsonstring);
String result = jsonObject.getString("success");
String error_number = jsonObject.getString("error_number");
String error_message = jsonObject.getString("error_message");
JSON Array jsonarray = jsonobj.getJSONArray();
String[] names = new String[jsonArray.length()];
String[] formattedNames = new String[jsonArray.length()];
for(int i=0;i<jsonArray.length();i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i);
names [i] = jsonObject.getString("name");
formattedNames [i] = jsonObject.getString("formattedName");
}
JsonNodeの本体を取得してから、JsonNodeをJSONObjectに変換して値にアクセスできます。結果にアクセスするために、それをJSONArrayに変換できます。
import org.json.*;
HttpResponse<JsonNode> request = Unirest.get(URL).header("X-Mashape
Authorization", MASHAPE_AUTH).asJson();
JSONObject responsejson = request.getBody().getObject();
JSONArray results = responsejson.getJSONArray("results");
その後、結果の各JSONObjectを反復処理できます。たとえば、結果の最初のオブジェクトを取得するには
JSONObject value = results.getJSONObject(0);
これは私にとってはうまくいったはずです
System.out.println(request.getBody().getObject().toString(2));
サンプルコード
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.JsonNode;
import com.mashape.unirest.http.Unirest;
public class UnirestClient{
public void getQuestions() throws Exception {
HttpResponse<JsonNode> stack= Unirest.get("https://api.stackexchange.com/2.2/questions").
header("accept", "application/json").
queryString("order","desc").
queryString("sort", "creation").
queryString("filter", "default").
queryString("site", "stackoverflow").
asJson();
System.out.println(stack.getBody().getObject().toString(2));
}
public static void main(String args[]) throws Exception {
JavaHTTPAPIClient client = new JavaHTTPAPIClient();
client.getQuestionsUsingUnirest();
}
}
応答
{
"quota_max": 300,
"items": [
{
"creation_date": 1477998742,
"tags": [
"javascript",
"spring",
"sockjs",
"spring-js",
"sockjs-tornado"
],
"title": "Sockjs 404 not found",
"link": "http://stackoverflow.com/questions/40358911/sockjs-404-not-found",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Sviatlana",
"accept_rate": 71,
"user_type": "registered",
"profile_image": "https://i.stack.imgur.com/J9utH.jpg?s=128&g=1",
"link": "http://stackoverflow.com/users/5288347/sviatlana",
"reputation": 109,
"user_id": 5288347
},
"last_activity_date": 1477998742,
"question_id": 40358911,
"view_count": 2,
"is_answered": false
},
{
"creation_date": 1477998741,
"tags": [
"php",
"html",
"email",
"magento",
"static-block"
],
"title": "Creating a magento email template: custom static block not working",
"link": "http://stackoverflow.com/questions/40358910/creating-a-magento-email-template-custom-static-block-not-working",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Elliot",
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/3ca06bfc99ca77598a8c58aa0945bc8a?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/6914645/elliot",
"reputation": 3,
"user_id": 6914645
},
"last_activity_date": 1477998741,
"question_id": 40358910,
"view_count": 1,
"is_answered": false
},
{
"creation_date": 1477998733,
"tags": [
"vba",
"random",
"macros",
"numbers",
"PowerPoint"
],
"title": "Random number PowerPoint as slide change",
"link": "http://stackoverflow.com/questions/40358908/random-number-PowerPoint-as-slide-change",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Luca ",
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/50594e4723d9c9235a49385e70fdc347?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/7099333/luca",
"reputation": 1,
"user_id": 7099333
},
"last_activity_date": 1477998733,
"question_id": 40358908,
"view_count": 2,
"is_answered": false
},
{
"creation_date": 1477998717,
"tags": [
"javascript",
"jquery",
"cordova",
"jquery-mobile"
],
"title": "page redirection happening when Go button is pressed on a textbox (jquery/cordova)",
"link": "http://stackoverflow.com/questions/40358903/page-redirection-happening-when-go-button-is-pressed-on-a-textbox-jquery-cordov",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Abhi",
"accept_rate": 58,
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/118f3b090dbf70bbb82dd280ed2f4e24?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/5145530/abhi",
"reputation": 536,
"user_id": 5145530
},
"last_activity_date": 1477998717,
"question_id": 40358903,
"view_count": 3,
"is_answered": false
},
{
"creation_date": 1477998684,
"tags": [
"php",
"wordpress",
"for-loop"
],
"title": "Wordpress: looping through alternating post types and outputting featured image",
"link": "http://stackoverflow.com/questions/40358895/wordpress-looping-through-alternating-post-types-and-outputting-featured-image",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "icabob91",
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/4955d4f2e9bcbdee92ef49ffd76c51d6?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/6104799/icabob91",
"reputation": 3,
"user_id": 6104799
},
"last_activity_date": 1477998684,
"question_id": 40358895,
"view_count": 3,
"is_answered": false
},
{
"creation_date": 1477998678,
"tags": [
"python",
"datetime",
"python-3.5",
"timedelta"
],
"title": "datetime difference in python3.5",
"link": "http://stackoverflow.com/questions/40358893/datetime-difference-in-python3-5",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "gansub",
"accept_rate": 85,
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/ac74b6d927012828dbd79279614f3e58?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/4033876/gansub",
"reputation": 237,
"user_id": 4033876
},
"last_activity_date": 1477998678,
"question_id": 40358893,
"view_count": 4,
"is_answered": false
},
{
"creation_date": 1477998668,
"tags": [
"arm",
"tensorflow"
],
"title": "Wipe out dropout operations from TensorFlow graph",
"link": "http://stackoverflow.com/questions/40358892/wipe-out-dropout-operations-from-tensorflow-graph",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Dmytro Prylipko",
"accept_rate": 40,
"user_type": "registered",
"profile_image": "https://i.stack.imgur.com/aVfpi.png?s=128&g=1",
"link": "http://stackoverflow.com/users/2641587/dmytro-prylipko",
"reputation": 98,
"user_id": 2641587
},
"last_activity_date": 1477998668,
"question_id": 40358892,
"view_count": 2,
"is_answered": false
},
{
"creation_date": 1477998668,
"tags": [
"c++",
"qt"
],
"title": "Scale a dynamically added widget",
"link": "http://stackoverflow.com/questions/40358891/scale-a-dynamically-added-widget",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "student",
"accept_rate": 88,
"user_type": "registered",
"profile_image": "https://graph.facebook.com/814890818587238/picture?type=large",
"link": "http://stackoverflow.com/users/4621626/student",
"reputation": 43,
"user_id": 4621626
},
"last_activity_date": 1477998668,
"question_id": 40358891,
"view_count": 3,
"is_answered": false
},
{
"creation_date": 1477998642,
"tags": ["sql"],
"title": "SQL returning different rows based on certain conditions",
"link": "http://stackoverflow.com/questions/40358889/sql-returning-different-rows-based-on-certain-conditions",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "clueless83",
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/c99db40aa014047b39b6e8222c120d84?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/6720789/clueless83",
"reputation": 18,
"user_id": 6720789
},
"last_activity_date": 1477998642,
"question_id": 40358889,
"view_count": 10,
"is_answered": false
},
{
"creation_date": 1477998626,
"tags": [
"angularjs",
"select",
"multiple-select"
],
"title": "Angular: Select multiple in chrome ( in firefox work perfectly)",
"link": "http://stackoverflow.com/questions/40358886/angular-select-multiple-in-chrome-in-firefox-work-perfectly",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Enrique Rubio Sanchez",
"user_type": "registered",
"profile_image": "https://lh3.googleusercontent.com/-jKUZPfGsMEY/AAAAAAAAAAI/AAAAAAAAAHY/aisyHc_Xlm4/photo.jpg?sz=128",
"link": "http://stackoverflow.com/users/5496817/enrique-rubio-sanchez",
"reputation": 11,
"user_id": 5496817
},
"last_activity_date": 1477998626,
"question_id": 40358886,
"view_count": 5,
"is_answered": false
},
{
"creation_date": 1477998622,
"tags": [
"c#",
"coloranimation"
],
"title": "Cannot animate the color property because the object is sealed or frozen",
"link": "http://stackoverflow.com/questions/40358884/cannot-animate-the-color-property-because-the-object-is-sealed-or-frozen",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Wobbles",
"accept_rate": 63,
"user_type": "registered",
"profile_image": "https://graph.facebook.com/100003846611758/picture?type=large",
"link": "http://stackoverflow.com/users/3797778/wobbles",
"reputation": 1691,
"user_id": 3797778
},
"last_activity_date": 1477998622,
"question_id": 40358884,
"view_count": 3,
"is_answered": false
},
{
"creation_date": 1477998619,
"tags": [
"Paypal",
"laravel-5.2",
"Paypal-rest-sdk"
],
"title": "Integrating Paypal Rest API to laravel 5.2 using anouarabdsslm",
"link": "http://stackoverflow.com/questions/40358882/integrating-Paypal-rest-api-to-laravel-5-2-using-anouarabdsslm",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Ankit Jindal",
"user_type": "registered",
"profile_image": "https://graph.facebook.com/100001546390988/picture?type=large",
"link": "http://stackoverflow.com/users/4198180/ankit-jindal",
"reputation": 6,
"user_id": 4198180
},
"last_activity_date": 1477998619,
"question_id": 40358882,
"view_count": 2,
"is_answered": false
},
{
"creation_date": 1477998605,
"tags": [
"decimal",
"dynamics-crm-2016",
"editablegrid"
],
"title": "Dynamcis CRM EditableGrid sdoesn't sets quantity to 0",
"link": "http://stackoverflow.com/questions/40358881/dynamcis-crm-editablegrid-sdoesnt-sets-quantity-to-0",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "ODE",
"accept_rate": 71,
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/3607bfe0c1a853e890ff5c746e793856?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/3332226/ode",
"reputation": 82,
"user_id": 3332226
},
"last_activity_date": 1477998605,
"question_id": 40358881,
"view_count": 2,
"is_answered": false
},
{
"creation_date": 1477998604,
"tags": [
"reporting-services",
"parameters",
"mdx"
],
"title": "MDX (SSRS) Parameter subset",
"link": "http://stackoverflow.com/questions/40358880/mdx-ssrs-parameter-subset",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "user2181700",
"accept_rate": 67,
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/a973bbc5607eb4bf001c1d0587c2035d?s=128&d=identicon&r=PG",
"link": "http://stackoverflow.com/users/2181700/user2181700",
"reputation": 40,
"user_id": 2181700
},
"last_activity_date": 1477998604,
"question_id": 40358880,
"view_count": 2,
"is_answered": false
},
{
"creation_date": 1477998588,
"tags": [
"bash",
"chef-recipe"
],
"title": "How can I loop through bash routine in Chef?",
"link": "http://stackoverflow.com/questions/40358877/how-can-i-loop-through-bash-routine-in-chef",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "user5241806",
"accept_rate": 38,
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/f93135e0156fd5d3ecba4935a42c0c47?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/5241806/user5241806",
"reputation": 63,
"user_id": 5241806
},
"last_activity_date": 1477998588,
"question_id": 40358877,
"view_count": 3,
"is_answered": false
},
{
"creation_date": 1477998584,
"tags": [
"entity-framework",
"asp.net-web-api",
"unity-container"
],
"title": "Dependency injection not working in web api call",
"link": "http://stackoverflow.com/questions/40358875/dependency-injection-not-working-in-web-api-call",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Tom",
"accept_rate": 71,
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/71cd701f6826481858ee299f68f3205a?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/4607841/tom",
"reputation": 94,
"user_id": 4607841
},
"last_activity_date": 1477998584,
"question_id": 40358875,
"view_count": 5,
"is_answered": false
},
{
"creation_date": 1477998573,
"tags": [
"c++",
"windows",
"process",
"kill",
"termination"
],
"title": "How to prevent a windows application from being killed/terminate or stop",
"link": "http://stackoverflow.com/questions/40358872/how-to-prevent-a-windows-application-from-being-killed-terminate-or-stop",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Ankush Dhingra",
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/136386aece9fd21861cb2b42f24f81b6?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/7099310/ankush-dhingra",
"reputation": 1,
"user_id": 7099310
},
"last_activity_date": 1477998573,
"question_id": 40358872,
"view_count": 6,
"is_answered": false
},
{
"creation_date": 1477998556,
"tags": [
"python",
"Azure",
"arm",
"Azure-sdk-python"
],
"title": "Azure python sdk for VM Resource Monitoring",
"link": "http://stackoverflow.com/questions/40358870/Azure-python-sdk-for-vm-resource-monitoring",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "KMG",
"accept_rate": 26,
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/3632d43837fe92fda15ddf3b6ad5a8c2?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/3524468/kmg",
"reputation": 158,
"user_id": 3524468
},
"last_activity_date": 1477998556,
"question_id": 40358870,
"view_count": 3,
"is_answered": false
},
{
"creation_date": 1477998521,
"tags": [
"javascript",
"arrays",
"for-loop"
],
"title": "JavaScript array 2 dimension for loop",
"link": "http://stackoverflow.com/questions/40358865/javascript-array-2-dimension-for-loop",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Rayan Suryadikara",
"accept_rate": 80,
"user_type": "registered",
"profile_image": "https://graph.facebook.com/959947287411964/picture?type=large",
"link": "http://stackoverflow.com/users/5355995/rayan-suryadikara",
"reputation": 28,
"user_id": 5355995
},
"last_activity_date": 1477998521,
"question_id": 40358865,
"view_count": 24,
"is_answered": false
},
{
"creation_date": 1477998512,
"tags": [
"javascript",
"user-interface",
"kendo-ui",
"grid"
],
"title": "How to set the number format for hyperlinks in kendo grid column",
"link": "http://stackoverflow.com/questions/40358863/how-to-set-the-number-format-for-hyperlinks-in-kendo-grid-column",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Harsha vardhan Reddy",
"user_type": "registered",
"profile_image": "https://lh6.googleusercontent.com/-tnuvSHlig1U/AAAAAAAAAAI/AAAAAAAAAdU/pBo7JDjmBpM/photo.jpg?sz=128",
"link": "http://stackoverflow.com/users/6323557/harsha-vardhan-reddy",
"reputation": 1,
"user_id": 6323557
},
"last_activity_date": 1477998512,
"question_id": 40358863,
"view_count": 2,
"is_answered": false
},
{
"creation_date": 1477998507,
"tags": [
"Android",
"achartengine"
],
"title": "aChartEngine; getCurrentSeriesAndPoint returns null",
"link": "http://stackoverflow.com/questions/40358862/achartengine-getcurrentseriesandpoint-returns-null",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Hyunin",
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/ddaf10ed143d2d44f9a1de00dc6465ec?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/7099269/hyunin",
"reputation": 1,
"user_id": 7099269
},
"last_activity_date": 1477998507,
"question_id": 40358862,
"view_count": 2,
"is_answered": false
},
{
"creation_date": 1477998499,
"tags": [
"c#",
"Selenium",
"Selenium-chromedriver"
],
"title": "Uploading a file with Selenium C#",
"link": "http://stackoverflow.com/questions/40358860/uploading-a-file-with-Selenium-c",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Hoverlord",
"user_type": "registered",
"profile_image": "https://lh4.googleusercontent.com/-5spNCjwaRtU/AAAAAAAAAAI/AAAAAAAADUo/CWI4U9m0VWw/photo.jpg?sz=128",
"link": "http://stackoverflow.com/users/7099290/hoverlord",
"reputation": 1,
"user_id": 7099290
},
"last_activity_date": 1477998499,
"question_id": 40358860,
"view_count": 4,
"is_answered": false
},
{
"creation_date": 1477998487,
"tags": [
"javascript",
"unit-testing",
"angular2",
"TypeScript",
"jasmine"
],
"title": "Angular 2 with jasmine: test component with injected service",
"link": "http://stackoverflow.com/questions/40358858/angular-2-with-jasmine-test-component-with-injected-service",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "DavidL",
"accept_rate": 81,
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/ce4583fa48bbd2e762ba0a9aaeab7909?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/4656551/davidl",
"reputation": 483,
"user_id": 4656551
},
"last_activity_date": 1477998487,
"question_id": 40358858,
"view_count": 5,
"is_answered": false
},
{
"creation_date": 1477998486,
"tags": [
"c#",
"jquery",
"ajax",
"routes",
"asp.net-core-mvc"
],
"title": "asp.net core id value in route doesn't work with ajax",
"link": "http://stackoverflow.com/questions/40358857/asp-net-core-id-value-in-route-doesnt-work-with-ajax",
"last_edit_date": 1477998683,
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Anton Toshik",
"accept_rate": 86,
"user_type": "registered",
"profile_image": "https://graph.facebook.com/1259984217361793/picture?type=large",
"link": "http://stackoverflow.com/users/5784635/anton-toshik",
"reputation": 27,
"user_id": 5784635
},
"last_activity_date": 1477998683,
"question_id": 40358857,
"view_count": 9,
"is_answered": false
},
{
"creation_date": 1477998481,
"tags": [
"python",
"string",
"python-3.x",
"machine-learning",
"string-matching"
],
"title": "how to generate a set of similar strings in python",
"link": "http://stackoverflow.com/questions/40358855/how-to-generate-a-set-of-similar-strings-in-python",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "daiyue",
"accept_rate": 82,
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/55fd0f7d95a4938975026ff886c3a563?s=128&d=identicon&r=PG",
"link": "http://stackoverflow.com/users/766708/daiyue",
"reputation": 806,
"user_id": 766708
},
"last_activity_date": 1477998481,
"question_id": 40358855,
"view_count": 8,
"is_answered": false
},
{
"creation_date": 1477998477,
"tags": [
"Java",
"mysql",
"swing",
"connection-pooling"
],
"title": "Does Connection Pooling makes Java Swing Application works faster for remote MySQL database",
"link": "http://stackoverflow.com/questions/40358852/does-connection-pooling-makes-Java-swing-application-works-faster-for-remote-mys",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "user2200561",
"accept_rate": 25,
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/1b7fb8ee134a1d1fdb25350e74c3322c?s=128&d=identicon&r=PG",
"link": "http://stackoverflow.com/users/2200561/user2200561",
"reputation": 8,
"user_id": 2200561
},
"last_activity_date": 1477998477,
"question_id": 40358852,
"view_count": 5,
"is_answered": false
},
{
"creation_date": 1477998469,
"tags": [
"python",
"Apache",
"hadoop",
"mapreduce",
"Apache-pig"
],
"title": "Apache Pig - nested FOREACH over same relation",
"link": "http://stackoverflow.com/questions/40358849/Apache-pig-nested-foreach-over-same-relation",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "user2817219",
"accept_rate": 60,
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/89b91c209b145ead1e1a4309fc048afc?s=128&d=identicon&r=PG&f=1",
"link": "http://stackoverflow.com/users/2817219/user2817219",
"reputation": 65,
"user_id": 2817219
},
"last_activity_date": 1477998469,
"question_id": 40358849,
"view_count": 4,
"is_answered": false
},
{
"creation_date": 1477998456,
"tags": [
"mysql",
"laravel-5",
"eloquent"
],
"title": "column overridden by another column with same name when using join method in eloquent",
"link": "http://stackoverflow.com/questions/40358846/column-overridden-by-another-column-with-same-name-when-using-join-method-in-elo",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Mazino S Ukah",
"accept_rate": 100,
"user_type": "registered",
"profile_image": "https://graph.facebook.com/933943226659646/picture?type=large",
"link": "http://stackoverflow.com/users/5746074/mazino-s-ukah",
"reputation": 125,
"user_id": 5746074
},
"last_activity_date": 1477998456,
"question_id": 40358846,
"view_count": 5,
"is_answered": false
},
{
"creation_date": 1477998428,
"tags": [
"javascript",
"http",
"caching",
"browser"
],
"title": "Tell the browser to drop cache of image",
"link": "http://stackoverflow.com/questions/40358839/tell-the-browser-to-drop-cache-of-image",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "php_nub_qq",
"accept_rate": 86,
"user_type": "registered",
"profile_image": "https://i.stack.imgur.com/daMab.jpg?s=128&g=1",
"link": "http://stackoverflow.com/users/2415293/php-nub-qq",
"reputation": 5811,
"user_id": 2415293
},
"last_activity_date": 1477998428,
"question_id": 40358839,
"view_count": 8,
"is_answered": false
},
{
"creation_date": 1477998422,
"tags": [
"ios",
"certificate",
"keychain",
"p12"
],
"title": "Keychain asking password for importing p12 but i didn't give password",
"link": "http://stackoverflow.com/questions/40358836/keychain-asking-password-for-importing-p12-but-i-didnt-give-password",
"score": 0,
"answer_count": 0,
"owner": {
"display_name": "Olcay Erta?",
"accept_rate": 92,
"user_type": "registered",
"profile_image": "https://www.gravatar.com/avatar/f164c6c3b709c97862a0d14f7725830b?s=128&d=identicon&r=PG",
"link": "http://stackoverflow.com/users/614065/olcay-erta%c5%9f",
"reputation": 1129,
"user_id": 614065
},
"last_activity_date": 1477998422,
"question_id": 40358836,
"view_count": 2,
"is_answered": false
}
],
"has_more": true,
"quota_remaining": 298
}
// try this way,hope this will help you...
String respone = "{\n" +
" \"success\": \"1\",\n" +
" \"error_number\": \"\",\n" +
" \"error_message\": \"\",\n" +
" \"results\": [\n" +
" {\n" +
" \"name\": \"name1\",\n" +
" \"formatedName\": \"Name 1\"\n" +
" },\n" +
" {\n" +
" \"name\": \"testtesttest\",\n" +
" \"formatedName\": \"Test Test Test\"\n" +
" },\n" +
" {\n" +
" \"name\": \"nametest2\",\n" +
" \"formatedName\": \"Name Test 2\"\n" +
" },\n" +
" {\n" +
" \"name\": \"nametest3\",\n" +
" \"formatedName\": \"Name Test 3\"\n" +
" }\n" +
" ]\n" +
"}";
try{
JSONObject responeJson = new JSONObject(respone);
if(responeJson.getString("success").equals("1")){
JSONArray jsonArray = responeJson.getJSONArray("results");
for (int i=0;i<jsonArray.length();i++){
System.out.println("Name : "+jsonArray.getJSONObject(i).getString("name"));
System.out.println("FormatedName : "+jsonArray.getJSONObject(i).getString("formatedName"));
}
}else{
Toast.makeText(this,responeJson.getString("error_message"),Toast.LENGTH_SHORT).show();
}
}catch (Throwable e){
e.printStackTrace();
}