求下列字符串样式的生成算法

omagic 2016-12-18 10:56:48
如题:
字符串样式为:[{"field":"String1","operator":"String2","value":["String3"]}]

哪位朋友帮个忙,谢谢!

我自己的算法用到了Gson,算法大致如下,前半段生成没有问题,只是最有一个value始终生成不完整差个中括号『[]』内的格式:
最后生成的字符串是这样的:[{"field":"String1","operator":"String2","value":"[String3]"}]


private static List<Object> CreateFilter(String field, String operator, String value) {
List<Object> Filter = new ArrayList<Object>();
JsonObject tFilter = new JsonObject();
tFilter.addProperty("field", field);
tFilter.addProperty("operator", operator);
List<String> om = new ArrayList<String>();
om.add(value);
tFilter.addProperty("value",om.toString());
Filter.add(tFilter);
return Filter;
}
...全文
148 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
omagic 2016-12-25
  • 打赏
  • 举报
回复
非常感谢版主的回答,其实后来我换了一个思路来弄,效果能达到。。我好像有强迫症,必须用算法来完成
private static String CreateFilters(String field, String operator, String value) {
        return "[{\"field\":\"" + field +"\",\"operator\":\"" + operator + "\",\"value\":[\"" + value + "\"]}]";
    }
爱睡觉的阿狸 2016-12-19
  • 打赏
  • 举报
回复
public class TestGson {

	public static void main(String[] args) {
		List<Object> list = createFilter("String1", "String2", "String3"); 
		Gson gson = new Gson();
		System.out.println(gson.toJson(list));
	}
	
	private static List<Object> createFilter(String field, String operator, String value) {
        List<Object> filter = new ArrayList<Object>();
        Map<String, Object> map = new LinkedHashMap<String, Object>();
        map.put("field", field);
        map.put("operator", operator);
        List<String> om = new ArrayList<String>();
        om.add(value);
        map.put("value",om);
        filter.add(map);
        return filter;
    }
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧