繁体   English   中英

如何用我自己的变量替换默认的JSON.stringify变量K和A.

[英]How can i replace default JSON.stringify variable K and A with my own variable

我希望我的多边形点通过ajax进入数据库。 所以我这样用过

function StorePolygon(id, poly_points) {
   var html;
   // The values of id=1001 and poly_points=((47.53208121578362, 7.705052197034092),
   //   (47.53188401121172, 7.704971730763646),(47.53189169452062, 7.705076336915226))
   $.ajax({
     url: url_prefix + "SetPolygonInfo",
     data: ({
        'id': id,
        'polypoints': JSON.stringify(poly_points),
        'as_json': 1
    }),
    async: false,
    dataType: "json",
    success: function(result) {

        html = result.html;

     },
     error: function(data, status, e) {
        alert(e);
     }
 });
 return html;
 }

JSON.stringify(poly_points)就像这样生成

[{"k":47.53208121578362,"A":7.705052197034092},
 {"k":47.53188401121172,"A":7.704971730763646}, 
 {"k":47.53189169452062,"A":7.705076336915226}]

我想使用我自己的变量而不是K和A.Can有人帮忙吗?

您可以使用map创建一个新的对象数组,其中包含您要使用的键和JSON.stringify该数组:

JSON.stringify( poly_points.map(function (point){
  return {
    custom_key_for_k : point.k,
    custum_key_for_A : point.A
  };
}) )

您需要填充映射以支持版本9之前的Internet Explorer,或者使用包含它的任何Javascript库中的等效函数。

我只是不想依赖JSON.stringify(poly_points)变量来存储在DB中。 所以我喜欢这样

function StorePolygon(id, poly_points) {
var html;
var olist = []
var obj = {}
/*
JSON.stringify(poly_points.map(function(point) {
    obj = {
        'x': point.k,
        'y': point.B
    }
    olist.push(obj)

}))*/

for(var i=0;i<poly_points.length;i++){
var xy = poly_points[i];
obj = {
        'x': xy.lat(),
        'y': xy.lng()
    }
    olist.push(obj)
 } 
 $.ajax({
    url: url_prefix + "SetPolygonInfo",
    data: ({
        'id': id,
        'poly_points': JSON.stringify(olist),
        'as_json': 1
    }),
    async: false,
    dataType: "json",
    success: function(result) {

        html = result.html;

    },
    error: function(data, status, e) {
        alert(e);
    }
});
return html;

 }

它工作得很好。 JSON.stringify(poly_points)有时会给出k和A.

 [{"k":47.53208121578362,"A":7.705052197034092},
  {"k":47.53188401121172,"A":7.704971730763646}, 
  {"k":47.53189169452062,"A":7.705076336915226}]

但它有时会给出

 [{"k":47.53208121578362,"B":7.705052197034092},
  {"k":47.53188401121172,"B":7.704971730763646}, 
  {"k":47.53189169452062,"B":7.705076336915226}]

所以我不希望我的对象/返回列表取决于变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM