Parsing json with android

后端 未结 4 2026
日久生厌
日久生厌 2021-01-28 09:44

Hi I want to parse this json:

[{
    \"codError\": 0,
    \"msg\": \"OK\"
}, {
    \"id\": 1,
    \"role\": {
        \"id\": 4,
        \"name\": \"Super\",
            


        
相关标签:
4条回答
  • 2021-01-28 10:05

    { represents the Jsonobject and [ represents the jsonarray

    Parse like this to get the role_id loginName from your json

     JSONArray jsonarr =new  JSONArray(yourstring);
     JSONObject jobj=jsonarr.getJSONObject(1);
     JSONObject role =jobj.getJSONObject("role");
     String role_id = role.getInt("id");
     String loginName=jsonarr.getString("loginName");
    
    0 讨论(0)
  • 2021-01-28 10:14

    Why should we do parsing of JSON if you are provided a ready made tool to parse a JSON and give you a complete hierarchy of Java classes???

    Right??

    Take a look at JsonSchema 2 Pojo site.

    Provide your JSON input/output there. Select appropriate options like

    Source type: JSON
    Annotation style: GSON

    Enable following 3 options

    1. Generate builder methods
    2. Use primitive types
    3. Use long integers

    Select Jar button and you are done with.

    Note

    Please validate your JSON first.

    0 讨论(0)
  • 2021-01-28 10:21

    First of all, the U4 doesn't seems JSON correct. I would have write it like:

    {
      "your array":["U4"]
    }
    

    then use the method to get your array

    JSONArray array = jsonObj.getJSONArray("your array");
    

    then you can access the values on your JSONArray by iterating over it, like that

    for (int i = 0; i < array.length(); i++) {
      array.getJSONObject(i);
    }
    

    Hope I help

    0 讨论(0)
  • 2021-01-28 10:31

    Try out as below:

    JSONArray arry=new JSONArray("yourjsonstring");
    for(int i=0;i<arry.length();i++)
     {
          JSONObject obj=arry.getJSONObject(i);
         String role=obj.getString("role");
         JSONObject obj2=new JSONObject(role);
          String id=obj2.getString("id");
         JSONArray array =obj.getJSONArray("U4");
     } 
    

    Hope this helps you.

    0 讨论(0)
提交回复
热议问题