@Override
	public void putAll(Map<? extends String, ?> m) {
		for (Entry<? extends String, ?> entry : m.entrySet()) {
			this.set(entry.getKey(), entry.getValue());
		}
	}
@Test
	public void putAllTest() {
		final JSONObject json1 = JSONUtil.createObj()
			.set("a", "value1")
			.set("b", "value2")
			.set("c", "value3")
			.set("d", true);

		final JSONObject json2 = JSONUtil.createObj()
			.set("a", "value21")
			.set("b", "value22");

		// putAll操作会覆盖相同key的值，因此a,b两个key的值改变，c的值不变
		json1.putAll(json2);

		assertEquals(json1.get("a"), "value21");
		assertEquals(json1.get("b"), "value22");
		assertEquals(json1.get("c"), "value3");
	}