如何组合两个JSON字符串以存储在数据库中

时间:2011-04-06 08:45:27

标签: javascript jquery json

我有以下数据确实应该是一个JSON字符串但是我不确定将这两个数据组合成一个有效的JSON字符串。我认为睡眠不足使我思维不正确。

{ “0”:{ “一个”: “22”, “B”: “44”, “B”: “77”}} { “1”:{ “一个”: “2200”, “B”: “4400”, “C”: “7700”}}

我真的希望它像:

{“0”:{“a”:“22”,“b”:“44”,“b”:“77”},“1”:{“a”:“2200”,“b” :“4400”,“c”:“7700”}}(我假设这是一个有效的JSON字符串

5 个答案:

答案 0 :(得分:3)

  1. 将两个字符串转换为对象
  2. 使用for (var foo in bar)循环遍历一个对象的所有属性,并复制到另一个对象
  3. 转换回字符串

答案 1 :(得分:2)

如果我理解你的问题,

http://jsfiddle.net/4S2wC/应该是你想要的

答案 2 :(得分:1)

您可以尝试使用正则表达式,例如:

mystring.replace(/}}\s*{/g,"},");

这围绕对象图的深度和语法进行了一些假设。

答案 3 :(得分:1)

下面的函数有助于组合json对象。

C#:
        public String toJSONCombine(JSONObject outer, int HVal, int Aval , int Bval , int Cval)
        {    
             JSONObject inner = new JSONObject();
             try {
              inner.put("a", Aval);
              inner.put("b", Bval);
              inner.put("C", Cval);
              outer.put(HVal, inner);
             } 
             catch (JSONException ex) {
               ex.printStackTrace();
             }
        }

你可以像结尾那样形成json字符串

{"0":{"a":"22","b":"44","b":"77"}, "1":{"a":"2200","b":"4400","c":"7700"}}

我想你想要js。我们可以使用javascripts使它成为相同的结构..

使用数组代替JsonObject ..

我希望对你有所帮助

答案 4 :(得分:0)

为什么人们总是创造自己的功能,这真的不在我的脑海里。 那里有很多功能,为什么不使用它们呢? Jquery有一些非常好的功能,比如

$.extend({},j1,j2) http://api.jquery.com/jQuery.extend/

$.merge( [0,1,2], [2,3,4] ) for array marge http://api.jquery.com/jQuery.merge/

enter image description here