web-dev-qa-db-ja.com

Unirest呼び出しのJSON結果を解析する方法

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"
    }
  ]
}
_
19
user1636130

今日私自身でこれを理解しようとしていました。ソースコードは、おそらくあなたが入手しようとしている唯一のドキュメントです。これが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_に由来し、 よく文書化されています 、ありがたいことに。

22
l8nite

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 ");
        }
    }
}
4
Nan Zhong

応答は文字列として簡単に取得されるため、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);
3
Peter

JSON文字列には、解析をガイドする2つのシンボルがあります。

{-JSONObjectを示します

[-JSONArrayを示します

JSON文字列を解析するとき、この項目を繰り返し処理する必要があります。文字列に含まれるJsonObjectとJsonArrayの数と、解析の開始元を理解するには、 this website のようなjson-visualizerツールを使用します。あなたの文字列の例については、構造は次のようになります:
enter image description here

ご覧のとおり、ルートオブジェクトは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");
  }
3
Farhad Faghihi

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);
1
Srijan Sharma

これは私にとってはうまくいったはずです

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&#39;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&#39;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&#39;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
    }
0
Some Java Guy
// 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();
        }
0
Haresh Chhelana