Json小结

JSON:JavaScript Object Natation,用一句话总结就是:一种轻量级的、实现服务器与客户端交互的、完全独立的数据交换语言。
1、JSON的两种数据格式
A开始与结束的标志"{","}",里面放着各种key、value值并以“,”分隔。
B如果多个JSON组合就是有序的value集合,我们称之为JsonArray,他的构造形如[{},{},{}....]
2、java生成JSON对象
JSONObject obj = new JSONObje--------------ct();//new一个JSON对象
obj.put("key", "^^");//json对象存个值
System.err.println(obj);
运行的结果为{"key":"^
^"}
3、java生成JsonArray对象
JSONArray array = new JSONArray();
JSONObject obj = new JSONObject();
obj.put("key", "呵呵");
array.add(obj);
JSONObject obj1 = new JSONObject();
obj1.put("key", "嘿嘿");
array.add(obj1);
System.err.println(array);
运行的结果为[{"key":"呵呵"},{"key":"嘿嘿"}]
4、java中String字符串与Json转换
json数组格式的字符串可以通过方法直接转换为JSONArray的格式:
String aaa = "[{name1:{name2:{name3:'value1',name4:'value2'}}},{}]";
JSONArray.fromObject(aaa)
JSONArray getJsonArray=JSONArray.fromObject(arrayStr);//将结果转换成JSONArray对象的形式
JSONObject getJsonObj = getJsonArray.getJSONObject(0);//获取json数组中的第一项
String result=getJsonObj.getJSONObject("name1").getJSONObject("name2").getJSONObject("name4");
5、java解析JSon

     // 一个未转化的字符串
    String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ; 
    // 首先把字符串转成 JSONArray  对象
    JSONArray json1 = JSONArray.fromObject(str );
    if(json1.size()>0){
             for(int i=0;i<json1.size();i++){
                 // 遍历 jsonarray 数组,把每一个对象转成 json 对象
                JSONObject job = json1.getJSONObject(i); 
                // 得到 每个对象中的属性值
                System.out.println(job.get("name")+"=") ;  
             }
    }       

6、JSON 和 JS 对象互转
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串
如:
var obj = {a: 'Hello', b: 'World'}; //这是一个对象,注意键名也是可以使用引号包裹的
var json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串
要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}'
要实现从 JSON 转换为对象,使用 JSON.parse() 方法:
var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果是 {a: 'Hello', b: 'World'}
7、jquery JSON的解析方式
一、eval()
对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明(type:json),或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次:
var dataObj=eval("("+data+")");//转换为json对象
alert(dataObj.root.length);//输出root的子对象数量
$.each(dataObj.root,fucntion(idx,item){
if(idx==0){
return true;
}
//输出每个root子对象的名称和值
alert("name:"+item.name+",value:"+item.value);
})
注:对于一般的js生成json对象,只需要将$.each()方法替换为for语句即可,其他不变。
二、jQuery解析Json对象:
jQuery提供了另一种方法“parseJSON”,这需要一个标准的JSON字符串,并返回生成的JavaScript对象。例如:
var parsedJson = $.parseJSON(results);
alert(parsedJson.name);

转载于:https://blog.51cto.com/13479739/2158545

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值