java string转json性能优化

可以用fastjson,速度比jsonlib快了不知道多少。用jackson都要比jsonlib强。

❷ 怎么把大量数据以JSON格式储存到文件中

得到数据对象 转成json字符串然后写入到文件

❸ json解析大数据 怎么做内存优化 ios

1. 用ARC管理内存
ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露。它自动为你管理retain和release的过程,所以你就不必去手动干预了。忘掉代码段结尾的release简直像记得吃饭一样简单。而ARC会自动在底层为你做这些工作。除了帮你避免内存泄露,ARC还可以帮你提高性能,它能保证释放掉不再需要的对象的内存。

2. 在正确的地方使用 reuseIdentifier
一个开发中常见的错误就是没有给UITableViewCells, UICollectionViewCells,甚至是UITableViewHeaderFooterViews设置正确的reuseIdentifier。
为了性能最优化,table view用`tableView:cellForRowAtIndexPath:`为rows分配cells的时候,它的数据应该重用自UITableViewCell。一个table view维持一个队列的数据可重用的UITableViewCell对象。
不使用reuseIdentifier的话,每显示一行table view就不得不设置全新的cell。这对性能的影响可是相当大的,尤其会使app的滚动体验大打折扣。
自iOS6起,除了UICollectionView的cells和补充views,你也应该在header和footer views中使用reuseIdentifiers。
想要使用reuseIdentifiers的话,在一个table view中添加一个新的cell时在data source object中添加这个方法:
staticNSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView :CellIdentifier forIndexPath:indexPath];
这个方法把那些已经存在的cell从队列中排除,或者在必要时使用先前注册的nib或者class创造新的cell。如果没有可重用的cell,你也没有注册一个class或者nib的话,这个方法返回nil。

3.尽量把views设置为透明
如果你有透明的Views你应该设置它们的opaque属性为YES。
原因是这会使系统用一个最优的方式渲染这些views。这个简单的属性在IB或者代码里都可以设定。
Apple的文档对于为图片设置透明属性的描述是:
(opaque)这个属性给渲染系统提供了一个如何处理这个view的提示。如果设为YES,渲染系统就认为这个view是完全不透明的,这使得渲染系统优化一些渲染过程和提高性能。如果设置为NO,渲染系统正常地和其它内容组成这个View。默认值是YES。
在相对比较静止的画面中,设置这个属性不会有太大影响。然而当这个view嵌在scroll view里边,或者是一个复杂动画的一部分,不设置这个属性的话会在很大程度上影响app的性能。
你可以在模拟器中用Debug\Color Blended Layers选项来发现哪些view没有被设置为opaque。目标就是,能设为opaque的就全设为opaque!

4.避免过于庞大的XIB
iOS5中加入的Storyboards(分镜)正在快速取代XIB。然而XIB在一些场景中仍然很有用。比如你的app需要适应iOS5之前的设备,或者你有一个自定义的可重用的view,你就不可避免地要用到他们。
如果你不得不XIB的话,使他们尽量简单。尝试为每个Controller配置一个单独的XIB,尽可能把一个View Controller的view层次结构分散到单独的XIB中去。
需要注意的是,当你加载一个XIB的时候所有内容都被放在了内存里,包括任何图片。如果有一个不会即刻用到的view,你这就是在浪费宝贵的内存资源了。Storyboards就是另一码事儿了,storyboard仅在需要时实例化一个view controller.
当家在XIB是,所有图片都被chache,如果你在做OS X开发的话,声音文件也是。Apple在相关文档中的记述是:
当你加载一个引用了图片或者声音资源的nib时,nib加载代码会把图片和声音文件写进内存。在OS X中,图片和声音资源被缓存在named cache中以便将来用到时获取。在iOS中,仅图片资源会被存进named caches。取决于你所在的平台,使用NSImage 或UIImage的`imageNamed:`方法来获取图片资源。

5.不要阻塞主线程
永远不要使主线程承担过多。因为UIKit在主线程上做所有工作,渲染,管理触摸反应,回应输入等都需要在它上面完成。
一直使用主线程的风险就是如果你的代码真的block了主线程,你的app会失去反应。
大部分阻碍主进程的情形是你的app在做一些牵涉到读写外部资源的I/O操作,比如存储或者网络。
你可以使用`NSURLConnection`异步地做网络操作:
+ (void)sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue*)queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))handler
或者使用像AFNetworking这样的框架来异步地做这些操作。
如果你需要做其它类型的需要耗费巨大资源的操作(比如时间敏感的计算或者存储读写)那就用 Grand Central Dispatch,或者NSOperation和 NSOperationQueues.
下面代码是使用GCD的模板
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// switch to a background thread and perform your expensive operation
dispatch_async(dispatch_get_main_queue(), ^{
// switch back to the main thread to update your UI
});
});
发现代码中有一个嵌套的`dispatch_async`吗?这是因为任何UIKit相关的代码需要在主线程上进行。

6. 在Image Views中调整图片大小
如果要在`UIImageView`中显示一个来自bundle的图片,你应保证图片的大小和UIImageView的大小相同。在运行中缩放图片是很耗费资源的,特别是`UIImageView`嵌套在`UIScrollView`中的情况下。
如果图片是从远端服务加载的你不能控制图片大小,比如在下载前调整到合适大小的话,你可以在下载完成后,最好是用background thread,缩放一次,然后在UIImageView中使用缩放后的图片。

7. 选择正确的Collection
学会选择对业务场景最合适的类或者对象是写出能效高的代码的基础。当处理collections时这句话尤其正确。
一些常见collection的总结:
· Arrays: 有序的一组值。使用index来lookup很快,使用value lookup很慢,插入/删除很慢。
· Dictionaries: 存储键值对。用键来查找比较快。
· Sets: 无序的一组值。用值来查找很快,插入/删除很快。

❹ 为什么返回json比text还慢

玩游戏卡原因很多,建议做下清理,电脑卡原因很多,先排除硬件问题和网络原因
先检专查下你的网络,用腾讯电脑管家属一工具箱一网速测试,测试下是不是网速不行
我觉得可能是电脑垃圾
其次,可以打开机箱,清下主机灰尘,包括风扇上的内存上的,因为灰太多,散热不好,也会使电脑运行过慢
再次,就有可能是电脑垃圾过多,暂用了空间,导致电脑卡,你可以用腾讯电脑管家的垃圾清理功能清理下垃圾,腾讯电脑管家一垃圾清理一扫描清理
再有,就是停止一些不必要的软件在后台的运行,打开腾讯电脑管家一电脑加速一一键优化,优化一些你不需要的启动软件
还有最后一个可能,就是电脑中了病毒或木马,导致你的电脑过慢,可以开启腾讯电脑管家小红伞查杀引擎进行扫毒。

❺ ajax异步返回的json数据过长怎么解决

$.post是提供简单的封装的ajax post请求的方法,没办法进行更详细的配置。
改为使内用$.ajax把,里面有一容个参数可以配置超时时间

$.ajax({
url:"xxx.php",
type:"POST",
dataType:"json",
timeout:60000, //超时时间,现在设置为60s。
success:function(data){
console.log(data);
}
});

更详细的配置可以查看jQuery的API文档。

另外需要你的服务器端配置的超时时间不能小于jQuery里面配置的。要不然jQuery还没有超时,服务器端直接返回timeout了。

同时优化一下服务端的处理,提高相应速度也是一个不错的选择。

❻ 请问:jQuery.POST 返回JSON 格式的数据 AJAX连接时长过长怎么处理

$.post是提供简单的封装的ajax post请求的方法,没办法进行更详细的配置。
改为使用$.ajax把,里面有一内个参数可以配置超时容时间

$.ajax({
url:"xxx.php",
type:"POST",
dataType:"json",
timeout:60000, //超时时间,现在设置为60s。
success:function(data){
console.log(data);
}
});

更详细的配置可以查看jQuery的API文档。

另外需要你的服务器端配置的超时时间不能小于jQuery里面配置的。要不然jQuery还没有超时,服务器端直接返回timeout了。

同时优化一下服务端的处理,提高相应速度也是一个不错的选择。

❼ 接收json有上万条数据,怎么用Python优化解析

直接抄把JSON解析为数组,遍历输出

<?php
$str='[["61.191.41.130",80,3],["47.88.240.209",137,3],["88.85.240.60",8080,3]]'
$arr=json_decode($str,true);
foreach($arras$row){
echo$row[0].':'.$row[1].'<br>'
}
?>

❽ 如何优化很长的 JSON 数据

1,开启来gzip,压缩率很高,即便是很长源的文本,在网络中传输量也很小
2,不建议分次请求,除非是业务需要。连接次数过多,加大了并发的压力。
3,提醒用户点击的做法可以通过按钮反馈或loading条来做
4,如果有可能,考虑提前预读
你可以这样,在一个隐藏的 iframe 里面请求服务器,返回值是这样的:
<script>
parent.notifyDataArrive(YOURS_JSON_DATA);
</script>

❾ 如何优化很长的JSON数据

我们知道,JSON作为一种轻量级的数据交换格式,现在被广泛应用,特别是在API层,返回数专据格式基本上都是属JSON。但是,JSON字符串如果过长,那在网络传输中也存在耗时的,站在性能角度我们需要合理优化JSON。
JSON优化建议
1、服务器端开启GZip压缩
主流的服务端都支持GZip压缩,对于一般的纯文本内容GZip压缩率在35%以上,这样做的好处也很明显:
减少JSON输出大小,网络传输速度更快;
节省带宽。
2、键名缩短
对于结果集而言,数据都是查询循环输出的,所以当我们把键名缩短也变相压缩了JSON文本长度。比如原本的 {"name":"张三"} 我们可以写为 {"a":"张三"}
3、JSON中的中文避免被转为Unicode编码
现在也有不少人喜欢将JSON中的汉字转为Unicode编码,此时JSON文本内容就会变得很长,如果避免汉字转码,可以控制文本长度。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

❿ json格式错误怎样解决

json格式错误解决方法:

1、在用org.json.JSONObject 解析从网络获取的json数据时,遇到JSONException: java.lang.String cannot be converted to JSONObject,打印字符串,查回看json字符串没有问题;