后台获取数据,前端js转换成固定格式的json

后台获取数据,前端js转换成固定格式的json,第1张

var str = '[("id": 1, "ip": 2, "ii": "qq")]';

var re = /\s+/g;

var str1 = strsubstring(2);

var str2 = str1substring(0, str1length - 2);

str2 = str2replace(re,"");

var arr = str2split(',');

var obj = {};

arrforEach((v, i) => {

var item = vsplit(':');

obj[JSONparse(item[0])] = JSONparse(item[1]);

})

consolelog(obj);

大概是这样,或者可能会有所改动。

在开发过程中遇到一个问题:服务器经过排序返回后的字符串数据在使用fastjson解析后,数据顺序发生了变化,这个问题也就是:使用fastjson解析数据后导致顺序改变或者说是如何保持String字符串转为json对象时顺序不变

解决方法:

方法一:解析时增加参数不调整顺序(亲测使用有效)

JSONObject respondeBodyJson = JSONObjectparseObject(str, FeatureOrderedField);

方法二:配置有序对象

JSONObjectparseObject(str,LinkedHashMapclass,FeatureOrderedField);

方法三:初始化json对象为有序对象

JSONObject retObj = new JSONObject(true);

方法四:使用Gson解析

JsonObject returnData = new JsonParser()parse(str)getAsJsonObject();

这样生成的json对象就与放入数据时保持一致了

注意:引入的fastjson相关的jar包版本要高于123,因为FeatureOrderedField是从123开始的

1List list = new ArrayList。

2listadd(测试1)。

3listadd(测试2)。

4listadd(测试3)。

5JSONArray jsonArray JSONArrayfromObject(list)。

6Systemoutprintln(jsonArraytoString。

7这边要导包需要jsonlibjarnetsfjsonJSONArray。

用java初始化一个list,向list中添加值,并输出list中的值:

1import javautil

2public class

3 public static void main(String arg[])

4 List lis = new Arraylist

5 lisadd("wo")

6 lisadd("shi")

7 lisadd("wang")

8for(int i=0;i<lissize(); i++)

9 Systemoutprint(lisget(i)+"")

以上就是关于后台获取数据,前端js转换成固定格式的json全部的内容,包括:后台获取数据,前端js转换成固定格式的json、json.parseobject()的set方法设置顺序、js怎么把list转换json字符串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10186919.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存