使用GSON形成Json

时间:2015-11-25 14:26:30

标签: java json gson

我正在尝试使用gson形成以下json。

  visitors  : [
                ['01/2015', 1500],
                ['02/2015', 2500],
                ['03/2015', 1700],
                ['04/2015', 900],
                ['05/2015', 1500],
                ['06/2015', 2350],
                ['07/2015', 1500],
                ['08/2015', 1300],
                ['09/2015', 4600]
            ]

我不知道怎么做,任何人都可以帮助我

2 个答案:

答案 0 :(得分:0)

对于此类任务,您可以使用Convert XML or JSON to JAVA POJO

等网络实用程序

以下是我为您的JSON获得的内容。


public class MyPojo
{
    private String[][] visitors;

    public String[][] getVisitors ()
    {
        return visitors;
    }

    public void setVisitors (String[][] visitors)
    {
        this.visitors = visitors;
    }

    @Override
    public String toString()
    {
        return "ClassPojo [visitors = "+visitors+"]";
    }
}

如果您的java对象采用上述格式,则应正确转换为JSON。

答案 1 :(得分:-1)

你的json不是有效的。

  

{       "访客":[           [               " 01/2015&#34 ;,               1500           ]           [               " 02/2015&#34 ;,               2500           ]           [               " 03/2015&#34 ;,               1700           ]           [               " 04/2015&#34 ;,               900           ]           [               " 05/2015&#34 ;,               1500           ]           [               " 06/2015&#34 ;,               2350           ]           [               " 07/2015&#34 ;,               1500           ]           [               " 08/2015&#34 ;,               1300           ]           [               " 09/2015&#34 ;,               4600           ]       ]}

我打印的这张json经过验证。 使用setter和getters.as创建一个对象,如下例所示

import java.util.*;
  public class MyObject
 {private List<List<Map<String,Integer>>>visitors;
  public void setVisitors(List<List<Map<String,Integer>>>visitors)
   {this.visitors=visitors;
    }
public List<List<Map<String,Integer>>> getVisitors()
   {return this.visitors;
    }}

public class Test{
public static void main(String arg[]){
     Type objType = new TypeToken<MyObject>() {}.getType();
     MyObject obj= new MyObject();
     ArrayList<List> outerList=new ArrayList<List>();
     ArrayList innerList=new ArrayList<Map<String,Integer>>();
     Map mp=new HashMap();
     mp.put("03/2015",1700);
     innerList.add(mp);
     outerList.add(innerList);
     obj.setVisitors(outerList);
     Gson gson = new Gson();
     String json = gson.toJson(obj, objType );}}

The json now will be similar to your Json in discussion.