String字符串转为json对象时顺序如何保持不变。 string 转换json的问题
json.loads()\u65b9\u6cd5\u5c06\u4e00\u4e2ajson\u4e32\u8f6c\u5316\u4e3adict\u7684\u65f6\u5019\uff0c\u5143\u7d20\u987a\u5e8f\u53d8\u5316\u4e86\u5185\u7f6e\u6a21\u5757\u95ee\u9898\u3002
1\u3001import jsonfrom collections import OrderedDictmetadata = json.loads(text, object_pairs_hook=OrderedDict);metadata\u4e2dproperties\u7684\u987a\u5e8f\u662f\u8ddftext\u4e2d\u5b9a\u4e49\u7684\u987a\u5e8f\u662f\u4e00\u6837\u7684\u3002\u5177\u4f53\u53ef\u4ee5\u770bpython\u6587\u6863\u4e2djson.loads\u51fd\u6570\u4e2d\u7684\u53c2\u6570
2\u3001\u53ef\u4ee5\u4f7f\u7528\u5185\u7f6e\u6a21\u5757 json
content = {"id": "evt_ugB6x3K43D16wXCcqbplWAJo"}print content #{'id': 'evt_ugB6x3K43D16wXCcqbplWAJo'}import jsonprint json.dumps(content) #{"id": "evt_ugB6x3K43D16wXCcqbplWAJo"}print type(json.dumps(content)) #\u3002
\u4e0d\u52a0\u53cc\u5f15\u53f7\u662f\u4e0d\u884c\u7684,json\u683c\u5f0f\u5b57\u7b26\u4e32\u9664\u4e86\u6570\u5b57\u5176\u4ed6\u90fd\u8981\u52a0\u53cc\u5f15\u53f7
{"id":11, "groupName":"\u7ec41", "areaName":"q1", "status":"\u5728\u7ebf\u6b63\u5e38\u5de5\u4f5c"}
\u8fd9\u6837\u624d\u884c
你好!
需要引入fastjson这个jar包,而且版本要高于1.2.3,因为Feature.OrderedField是从1.2.3开始引入的。
import java.util.HashMap;
import java.util.LinkedHashMap;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
public class Test {
public static void main(String[] args) {
JSONObject json = new JSONObject();
String jsonStr = "{\"t1\":\"\",\"t3\":\"\",\"t2\":{\"a1\":\"\",\"a3\":\"\",\"a2\":\"\"}}";
HashMap m= json.parseObject(jsonStr,LinkedHashMap.class,Feature.OrderedField);
System.out.println(m.toString());
}
}
结果:
{t1=, t3=, t2={"a1":"","a3":"","a2":""}}
希望对你有帮助!
缺少相应的jar包引入,下载该类jar包引入
引入的哪个包呢,我也遇到这个问题了
绛旓細瑕佸皢string杞崲涓簀sonobject锛屽彲浠ヤ娇鐢ㄥ悇绉嶇紪绋嬭瑷鐨勫唴缃甁SON瑙f瀽搴撴垨绗笁鏂瑰簱銆備緥濡傦紝鍦↗ava涓紝鍙互浣跨敤org.json搴擄紱鍦≒ython涓紝鍙互浣跨敤json搴擄紱鍦↗avaScript涓紝鍙互浣跨敤JSON.parse鏂规硶銆傚叿浣撴楠ゆ牴鎹紪绋嬭瑷鏈夋墍涓嶅悓锛屼絾澶ц嚧鎬濊矾鏄皟鐢ㄧ浉搴旇瑷鐨凧SON瑙f瀽鍑芥暟锛屼紶鍏ュ瓧绗︿覆浣滀负鍙傛暟锛屽嵆鍙緱鍒板搴旂殑jsonobj...
绛旓細string杞琷son鏈変笁绉嶆柟娉 绗竴绉嶏細string鐩存帴杞琷son String json = "{\"2\":\"efg\",\"1\":\"abc\"}"; JSONObject json_test = JSONObject.fromObject(json); 灏唖tring鐨勫弻寮曞彿杞箟鍗冲彲锛岄傜敤浜庡瓧绗︿覆杈冪煭鐨 绗簩绉嶏細灏唖tring杞负list鍚庤浆涓簀son Listlist = new ArrayList(); list.add("...
绛旓細灏json瀛楃涓茶浆鎴恓son瀵硅薄锛屼富瑕佹湁涓ょ鎯呮櫙銆傚垎鍒槸鍚庣鍜屽墠绔紱鎯呮櫙涓锛氬悗绔彲浠ヤ娇鐢╣son.jar杩涜杞崲锛宩ar鍖呰嚜琛屼笅杞斤紝寤虹珛model,鍏朵腑瑕佹湁灞炴String id ; List<String> codes;model寤虹珛濂戒箣鍚庯紝鍙互浣跨敤gson灏唈son瀛楃涓茶浆鎹㈡垚model瀵硅薄锛屼緥瀛愬涓嬪浘锛氭儏鏅簩锛氬墠绔紝濡傛灉鏄鐞哸jax杩斿洖鐨刯son瀛楃涓诧紝闇瑕...
绛旓細1銆佸埄鐢ㄥ師鐢JSON瀵硅薄锛屽皢瀵硅薄杞负瀛楃涓锛氬弬鑰冧唬鐮佸涓嬶細var jsObj = {}; //瀹氫箟object jsObj.testArray = [1,2,3,4,5]; //鍒濆鍖 jsObj.name = 'CSS3';jsObj.date = '8 May, 2011';var str = JSON.stringify(jsObj); //杞崲鎴恠tring alert(str); //寮瑰嚭鎻愮ず 2銆侀噸鍐檛oString(...
绛旓細1銆//棣栧厛杩欎釜瀛楃涓茶鏄竴涓悎娉曠殑json瀛楃涓诧紝鎵嶈兘杞崲鎴恓son瀵硅薄 2銆丣SON.parse( str )//杞崲鎴恓son瀵硅薄 3銆丣SON.stringify( jsonObject )//杞崲鎴恓son瀛楃涓
绛旓細1.灏咼SON鏍煎紡鐨瀛楃涓茶浆鎹负JSONObject锛屼究浜庢寜闇璁块棶鍚勪釜灞炴э細`String jsonString = ...; JSONObject jsonObject = JSON.parseObject(jsonString);`2.鍚屾牱锛孞SONObject鍙互杞崲涓篔SONArray锛岀敤浜庡瓨鍌ㄥ拰鎿嶄綔鏁扮粍鏁版嵁锛歚JSONArray jsonArray = jsonObject.getJSONArray("arrayKey");`3.閫氳繃`parseObject`...
绛旓細String[] args) { JSONObject json = new JSONObject(); String jsonStr = "{\"t1\":\"\",\"t3\":\"\",\"t2\":{\"a1\":\"\",\"a3\":\"\",\"a2\":\"\"}}"; HashMap m= json.parseObject(jsonStr,LinkedHashMap.class,Feature....
绛旓細棣栧厛杩欎釜瀛楃涓茶鏄竴涓悎娉曠殑json瀛楃涓诧紝鎵嶈兘杞崲鎴恓son瀵硅薄 JSON.parse( str )//杞崲鎴恓son瀵硅薄 JSON.stringify( jsonObject )//杞崲鎴恓son瀛楃涓璇︾粏浣犲彲浠ュ幓鍚庣浘浜鸿鐪嬭棰戞暀瀛︾殑 閮芥槸楂樿川閲忚屼笖寰堟竻鏅板緢璇︾粏銆
绛旓細param obj 闇瑕杞崲鐨凧AVA瀵硅薄 param format 鏄惁鏍煎紡鍖 return throws MapperException / public static String objectToJsonStr(Object obj,boolean format) throws MapperException{ JSONValue jsonValue = JSONMapper.toJSON(obj); //浼犲叆鐨瀛楃涓杩涜杞崲 String jsonStr = jsonValue.render(format);...
绛旓細閫氳繃eval鏂瑰紡杩涜杞崲銆備妇渚嬶細var str = '{a:"1"}';//瀹氫箟浜嗕竴涓string鏍煎紡var json = eval('('+str + ')');//閫氳繃eval杞崲鎴恓son瀵硅薄琛ュ厖锛歟val鍔犱笂鍦嗘嫭鍙风殑鐩殑鏄揩浣縠val鍑芥暟鍦ㄥ鐞咼avaScript浠g爜鐨勬椂鍊欏己鍒跺皢鎷彿鍐呯殑琛ㄨ揪寮忥紙expression锛夎浆鍖栦负瀵硅薄锛岃屼笉鏄綔涓鸿 鍙ワ紙statement锛夋潵鎵ц銆