Как объединить две строки JSON для хранения в базе данных - PullRequest
3 голосов
/ 06 апреля 2011

У меня есть следующие данные, которые действительно должны быть одной строкой JSON, однако я не уверен, что объединю эти две строки в допустимую строку JSON.Я думаю, что недостаток сна заставляет меня не думать должным образом.

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

Я действительно хочу, чтобы это было что-то вроде:

{"0": {"a": "22", "b": "44", "b": "77"}, "1": {"a": "2200", "b": "4400 "," c ":" 7700 "}} (я предполагаю, что это допустимая строка JSON

Ответы [ 5 ]

3 голосов
/ 06 апреля 2011
  1. Преобразование обеих строк в объекты
  2. Использование for (var foo in bar) для циклического перебора всех свойств одного объекта и копирования в другой объект
  3. Преобразование обратно в строку
2 голосов
/ 06 апреля 2011

http://jsfiddle.net/4S2wC/ должно быть то, что вы ищете, если я правильно понимаю ваш вопрос

1 голос
/ 06 апреля 2011

Функция ниже помогает объединить объект 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 ..

Я надеюсь, что это поможет вам

1 голос
/ 06 апреля 2011

Вы можете попробовать регулярное выражение, например:

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

Это делает некоторые предположения относительно глубины графа объекта и синтаксиса.

0 голосов
/ 08 апреля 2011

Почему люди всегда создают свои собственные функции, это действительно не в моем уме. Есть много функций для вас, почему бы не использовать их? В Jquery есть несколько действительно хороших функций, таких как

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

$.merge( [0,1,2], [2,3,4] ) для поля массива http://api.jquery.com/jQuery.merge/

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...