转换为JSon或任何地图类型java

时间:2015-03-23 16:13:57

标签: java json

我有一个如下所示的字符串。

Model [Name=Mobie , location= US, actualTransferDate=null, scanserialCode=234335,1237787, modelNum=MIC 898989 ]

我可以将此转换为Json吗?有可能吗?所以我在下面做了这样的事情,但现在还没有用。

List<String> invoicelist = Arrays.asList(checkeditems);
    String invocejson = new Gson().toJson(invoicelist);
    Map<String,String> map = new HashMap<String,String>();
    ObjectMapper mapper = new ObjectMapper();
    try {
        map = mapper.readValue(invocejson, new TypeReference<HashMap<String, String>>(){});
        log.info("****"+map);
    } catch (Exception e) {
        e.printStackTrace();
    }

如果我可以转换它,我可以很容易地将json传递给Jsp,然后在那里使用它。任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)

你可以这样做......

        //import org.json.simple.JSONObject;

            JSONObject object = new JSONObject();
    ArrayList<Integer> array = new ArrayList<Integer>();

    String model = "Model [Name=Mobie , location= US , actualTransferDate=null , scanserialCode=234335,1237787 , modelNum=MIC 898989 ]";
    String[] v = model.substring(5).replace("[" , "").replace("]" , "").split(" ,");
    for(int i = 0;i < v.length;i++){
        String[] j = v[i].split("=");
        switch (j[0]) {
        case " Name":
            object.put("Name",j[1]);
            break;
        case " location":
            object.put("location", "US");
            break;
        case " actualTransferDate":
            object.put("actualTransferDate",j[1]);
            break;
        case " scanserialCode":
            String[] l = j[1].split(",");
            array.add(Integer.parseInt(l[0]));
            array.add(Integer.parseInt(l[1]));
            object.put("scanserialCode", array);
            break;
        case " modelNum":
            object.put("modelNum",j[1]);
            break;

        default:
            break;
        }
    }
    System.out.print("JSON Output string : "+object);
}

输出:

  

JSON输出字符串:   {&#34;名称&#34;:&#34; Mobie&#34;&#34; actualTransferDate&#34;:&#34;空&#34;&#34;位置&#34;:&#34; US&#34;&#34; modelNum&#34;:&#34; MIC   898989&#34;,&#34; scanserialCode&#34;:[234335,1237787]}