json转换求和问题

问题描述

product=[{id:1111,amount:0.01},{id:2222,amount:0.01},{id:3333,amount:2.1}] 如何取得所有的id 并以“”分隔形式拼成字符串,同时对所有的amount求和计算 问题补充:id 并以“,”分隔形式拼成字符串 如 string ids =“1111,2222,3333”

解决方案

import java.util.List;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import net.sf.json.util.JSONUtils;public class Account {private String id;private Double amount;public String getId() {return id;}public void setId(String id) {this.id = id;}public Double getAmount() {return amount;}public void setAmount(Double amount) {this.amount = amount;}public static void main(String[] args) {String json = "[{id:1111,amount:0.01},{id:2222,amount:0.01},{id:3333,amount:2.1}]";JSONArray jsonArray = JSONArray.fromObject(json);List<Account> list = (List<Account>)JSONArray.toCollection(jsonArray,Account.class);String ids = "";Double amount =0.0;for(Account a:list){System.out.println(a.getId());System.out.println(a.getAmount());ids+=a.getId()+",";amount+=a.getAmount();}ids = ids.substring(0,ids.length()-1);System.out.println(ids);System.out.println(amount);}}json-lib-2.2.3.jar,ezmorph-1.0.2.jar下测试有效。
解决方案二:
基于jquery解析json的方式var puduct = '[{"id":1111,"ammount":0.01},{"id":2222,"ammount":2.01},{"id":3333,"ammount":2.21}]' ;var jsons = jQuery.parseJSON(puduct)//console.info(jsons);var ids = [];var amount = 0; $(jsons).filter(function(){ids.push(this.id);amount += parseFloat(this.ammount);});ids = ids.join(',');console.log("ids : ",ids);console.log("amount : ",amount);//下面的方式也可以,其实质还是和存js一样就是遍历数组var ids = [];var amount = 0; $.each(jsons,function(idx,obj){ids.push(obj.id);amount += parseFloat(obj.ammount);});ids = ids.join(',');console.log("ids : ",ids);console.log("amount : ",amount);运行结果引用ids : 1111,2222,3333 amount : 4.2299999999999995 ids : 1111,2222,3333 amount : 4.2299999999999995 注意这里的结果!楼主可以自己在去查下介个为什么是这样!
解决方案三:
单纯的javascript方式var apud = [{"id":1111,"ammount":0.01},{"id":2222,"ammount":2.01},{"id":3333,"ammount":2.21}];var ids = [];var amount = 0; for(var i=0;i< apud.length;i++){ids.push(apud[i].id);amount += +apud[i].ammount;}ids = ids.join(',');console.log("ids : ",ids);console.log("amount : ",amount);
解决方案四:
用Jackson,处理json的框架http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html
解决方案五:
这个很简单,定义一个function,然后把这个数据传递进去,遍历数组,取每个对象的属性分别进行连接和计算

时间: 2024-07-28 13:49:36

json转换求和问题的相关文章

C#将XML转换成JSON转换XML

原文:C#将XML转换成JSON转换XML using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; using Newtonsoft.Json; namespace JSonConverter { class Program { static void Main(string[] args) { string xml = "<Test>

将json转换成struts参数的方法_javascript技巧

加入对象为{name:'tom','class':{className:'class1'},classMates:[{name:'lily'}]} struts2期待的格式是 name=tom&class.className=class1&classMates[0].name=lily function parseParam(param, key) { var paramStr = ""; if (param instanceof String || param ins

对象-js array and json 转换

问题描述 js array and json 转换 数组生成: f_level[f_level_amount] = '{"id":"' +menueObj.menueId +'",' +'"name"'+ ':"' + menueObj.menueName +'"}'; 效果图: 实际想要的效果:获得f_level对象,能让我遍历f_level[i].id.f_level[i].name获取 解决方案 直接存储对象就好了,你存

json转换出现警告怎么去除

问题描述 下面是访问后台时json转换时出现的警告, 在网上搜索下, 很多人出现过这种情况, 没搜索到解决方案, 希望大家帮忙可以去除掉这些警告, 虽然不影响使用2011-8-19 10:20:11 net.sf.json.JSONObject defaultBeanProcessing信息: Property 'parent' of class com.huawei.ifree.autotest.log.analyse.platform.checkednode.CheckedTestSuite

C#实现DataTable,List和Json转换的方法_C#教程

本文实例讲述了C#实现DataTable,List和Json转换的方法.分享给大家供大家参考,具体如下: 1. 将DataTable或Ilist<>转换成JSON格式 using System; using System.Data; using System.Text; using System.Collections.Generic; using System.Reflection; /// <summary> /// 将DataTable或Ilist<>转换成JSO

json转换问题

问题描述 碰到了一个json转换的问题,以下是测试代码:List list = new ArrayList(); list.add( "first" ); list.add( "second" ); JSONArray jsonArray2 = JSONArray.fromObject( list );程序执行到这行,JSONArray jsonArray2 = JSONArray.fromObject( list );老是报下面的错误,找了半天也没找到,该引用的包

用 Rhino/Nashorn 代替第三方 JSON 转换库(第三版)

无须其他第三方包,只是依赖于 Java 自带的 JVM 自带的 Rhino/Nashorn 引擎提供 js/json 的服务.主要的两个类是 JsEngineWrapper.JsonHelper,它们的继承关系是 JsEngineWrapper 派生了 JsonHelper. 源码:http://git.oschina.net/sp42/ajaxjs/tree/master/ajaxjs-base/src/com/ajaxjs/js?dir=1&filepath=ajaxjs-base%2Fsr

用 Rhino/Nashorn 代替第三方 JSON 转换库

Java 本身就自带 JS 引擎,自从 Java 1.6 开始就支持了,愈来愈好.我对 js 比较熟悉,因此有个大胆的想法,为什么不用自带 js 引擎作 json 转换呢?这样我们可以不用引入其他第三方库. 背景知识:Java 6 提供对执行脚本语言的支持,这个支持来自于 JSR223 规范,对应的包是 javax.script.默认情况下,Java 6 只支持 JavaScript 脚本,它底层的实现是 Mozilla Rhino,它是个纯 Java 的 JavaScript 实现. 除了 O

Json转换神器之Google Gson的使用

这几天,因为项目的需要,接触了Google的Gson库,发现这个东西很好用,遂记下简单的笔记,供以后参考.至于Gson是干什么的,有什么优点,请各位同学自行百度.话不多说,切入正题: 1. 下载Gson的jar包,拷贝到项目的lib文件夹中,并将其加入到buildPath中.使用maven的同学,直接在pom中加入以下依赖即可: ? 1 2 3 4 5 <dependency> <groupId>com.google.code.gson</groupId> <ar