起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3000|回复: 11

[结贴] map如何转化为json

[复制链接]

86

主题

407

帖子

1138

积分

金牌会员

Rank: 6Rank: 6

积分
1138
QQ
发表于 2016-12-22 14:13:57 | 显示全部楼层 |阅读模式
如何将map数据转换为json数据,map数据格式如下({fID=TiK7cXajpgbi3SYqibP, parent=3, hasChild=nkLeaf, safetyMeasuresTemplate=景泰风电场})

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-12-22 14:59:59 | 显示全部楼层
这个就是java的标准操作,可以到网上查找
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

86

主题

407

帖子

1138

积分

金牌会员

Rank: 6Rank: 6

积分
1138
QQ
 楼主| 发表于 2016-12-22 15:42:08 | 显示全部楼层
可以将JSON = {"fID":"3avSLdUTZJpmIWmGuro","hasChild":"nkLeaf","parent":"3","safetyMeasuresTemplate":"南湫风电场"}直接放在
  var options = {
                                // "parsent":"$UI2/IOMM/common/process/common/safetyMeasures/staticData/Row==3",
                                defaultValues : [  
                                        JSON
                                 ]
这样写为什么报错呀?页面中也没有写userdata呀,请问这是什么原因?
Cannot read property 'userdata' of undefined
隐藏详细
TypeError: Cannot read property 'userdata' of undefined at constructor.doNewData (http://127.0.0.1:8080/x5/UI2/v_5 ... mmon.min.js:7:40943) at constructor.newData (http://127.0.0.1:8080/x5/UI2/v_5 ... mmon.min.js:7:40258) at constructor.Model.modelLoad (http://127.0.0.1:8080/x5/UI2/v_7 ... esTemplate.js:81:15) at constructor.fire (http://127.0.0.1:8080/x5/UI2/v_9 ... re.min.js:65:234367) at constructor.fireEvent (http://127.0.0.1:8080/x5/UI2/v_9 ... re.min.js:65:235531) at constructor.callParent (http://127.0.0.1:8080/x5/UI2/v_9 ... re.min.js:65:231806) at constructor.fireEvent (http://127.0.0.1:8080/x5/UI2/v_5 ... ommon.min.js:7:3704) at constructor._fireEvent (http://127.0.0.1:8080/x5/UI2/v_5 ... mmon.min.js:7:71185) at constructor.fire (http://127.0.0.1:8080/x5/UI2/v_9 ... re.min.js:65:234367) at constructor.fireEvent (http://127.0.0.1:8080/x5/UI2/v_9 ... re.min.js:65:235531)
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-12-22 16:20:22 | 显示全部楼层
完整的代码发一下
data的定义发一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

86

主题

407

帖子

1138

积分

金牌会员

Rank: 6Rank: 6

积分
1138
QQ
 楼主| 发表于 2016-12-22 16:28:00 | 显示全部楼层
本帖最后由 lmk123 于 2016-12-22 16:31 编辑

public static String querySA_Oporg(){//JSONObject
                String sOrgKindID = "wind";
                String sql = "select * from SA_OPOrg where sOrgKindID='" + sOrgKindID + "'";
                HashMap<String, String> sqlMap = new HashMap<String, String>();
                sqlMap.put(DatabaseProduct.MYSQL.name(), sql);
                Table table = SQL.select(sqlMap, null, "/IOMM/common/data");
                Map map = new HashMap();
                Iterator<Row> it = table.iterator();
                JSONObject ret = new JSONObject();
                String str = "";
                while(it.hasNext()) {
                        Row row = it.next();
                        String fID = (String) row.getString("sID");
                        String sFName = (String) row.getString("sName");
                        ret.put("safetyMeasuresTemplate",sFName);
                        ret.put("fID",fID.toString());
                        ret.put( "parent","3");
                        ret.put("hasChild","nkLeaf");  
                        System.out.println(ret);
                        String rete = ret.toString();
                        str = str+rete+",";                }
                        str = str.substring(0, str.length()-1);
                        System.out.println(str);
                return str;
        }//后台自定义了action,运行结果如下({"fID":"2GwTGcvcNIblSoWbRem","hasChild":"nkLeaf","parent":"3","safetyMeasuresTemplate":"电场"},{"fID":"2IDOlCF2Q5hrznynXC4","hasChild":"nkLeaf","parent":"3","safetyMeasuresTemplate":"新建场站1"},{"fID":"3avSLdUTZJpmIWmGuro","hasChild":"nkLeaf","parent":"3","safetyMeasuresTemplate":"电场"},{"fID":"huGYuoSP55RucNY2GBu","hasChild":"nkLeaf","parent":"3","safetyMeasuresTemplate":"风电场"}
回复 支持 反对

使用道具 举报

86

主题

407

帖子

1138

积分

金牌会员

Rank: 6Rank: 6

积分
1138
QQ
 楼主| 发表于 2016-12-22 16:34:49 | 显示全部楼层
前台调用action,也没有问题,可以拿到action返回的值
Model.prototype.sa_oporgTable = function(event) {// 查询所有风场
                biz.Request.sendBizRequest({
                        "context" : this.getContext(),
                        "action" : "querySA_Oporg",
                        // "parameters" : params,
                        "callback" : function(data) {
                                if (data.state) {
                                        var sa_oporgTable = data.response;
                                        var s = sa_oporgTable.toString();
                                        alert(data.response);// js获取后台java代码返回的值(data.response获取)
                                        return s;
                                }                        }                });        }
回复 支持 反对

使用道具 举报

86

主题

407

帖子

1138

积分

金牌会员

Rank: 6Rank: 6

积分
1138
QQ
 楼主| 发表于 2016-12-22 16:38:38 | 显示全部楼层
这一块会报上述错误,主要代码已经上传,不知道是为什么??请问这是什么原因???
staticData是cdata,前台添加的静态数据

var json = this.sa_oporgTable();//
        if (code !== null && code !== "") {
                        var Name = context.getCurrentOgnFName();
                        alert(Name);
                        var options = {
                                defaultValues : [  
                                           json//这块就会报错,不知道是为什么
                                ],
                                parent : staticData.getRowByID("3")
                        };
                        staticData.newData(options);


回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-12-22 17:00:03 | 显示全部楼层

data的定义发一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

86

主题

407

帖子

1138

积分

金牌会员

Rank: 6Rank: 6

积分
1138
QQ
 楼主| 发表于 2016-12-22 17:09:30 | 显示全部楼层
data 只是页面展示,没有在数据库中,使用的是静态数据,具体如图所示
QQ截图20161222170802.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-12-22 17:43:49 | 显示全部楼层
发源码我本地测试一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-22 03:45 , Processed in 0.089089 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表