Как преобразовать массив объектов в строку в nodejs? - PullRequest
0 голосов
/ 29 апреля 2020
[
  RowDataPacket {
    House_Name: 'Merlin 5th Avenue',
    no_of_rooms: 6,
    Cost: 3400000,
    PropertyId: 2
  },
  RowDataPacket {
    House_Name: 'Presidential Building',
    no_of_rooms: 5,
    Cost: 3500000,
    PropertyId: 106
  },
  RowDataPacket {
    House_Name: 'GreenSlide Building',
    no_of_rooms: 4,
    Cost: 6300000,
    PropertyId: 107
  },
  RowDataPacket {
    House_Name: 'RabindraNath Building',
    no_of_rooms: 4,
    Cost: 5500000,
    PropertyId: 108
  },
  RowDataPacket {
    House_Name: 'CityView Apartment',
    no_of_rooms: 3,
    Cost: 4300000,
    PropertyId: 109
  }
]

У меня есть этот массив объектов, которые я хочу преобразовать в строку, чтобы я мог передать его в запросе get на другую страницу. Как я могу преобразовать массив объектов в строку. Число объектов в массиве является динамическим c и может изменяться. Массив, показанный выше, является лишь одним примером.

Есть ли другой способ передать массив в запросе get?

Я передаю массив в файл Jade, который затем вызывает запрос get?

doctype html
html(lang='en')
  head
    meta(charset='UTF-8')
    title Property List
    link(rel='stylesheet', href='/stylesheets/prop-list-style.css')
    link(href='//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css', rel='stylesheet')
    link(rel='stylesheet', href='/stylesheets/likeButton.css')

  body
    // partial:index.partial.html  https://picsum.photos/500/300/?image=10
    .main
      h1(data-text='Property List') Property List
      - var prop = props
         ul.cards
             for pip in prop
                li.cards_item
                    .card
                        .card_image
                            img(src='https://picsum.photos/500/300/?image=10')
                        .card_content
                            h2.card_title #{pip.House_Name}
                            p.card_text #{pip.no_of_rooms} BHK
                              a(href='/signIn/interested?id=#{pip.PropertyId}&cid=#{customerid}&values=#{properties}') 
                                i.like-button.fa.fa-2x.fa-heart-o(class='#{like}')
                            p.card_text Price: #{pip.Cost}
                            a(href='/signIn/readMore?id=#{pip.PropertyId}&cid=#{customerid}&values=#{properties}')
                                button.btn.card_btn Find Out More
             else 
                h2 No such property exist
    script(src='/javascripts/likebutton.js')

    // partial

Переменная # {properties} - это переменная, которая содержит массив и является частью запроса get.

1 Ответ

0 голосов
/ 29 апреля 2020

Вы можете попробовать использовать этот код для преобразования массива объектов в строку

сначала назначьте массив объектов переменной, а затем используйте метод json .stringify () для преобразования массива объектов в string

var random = [{},{},{}.....];

JSON.stringify(random);

и для преобразования строки обратно в массив объектов используйте

JSON.parse(random);

А также вы неправильно создаете массив объектов, это должно быть так, а затем приведенный выше stringify и Метод разбора будет работать совершенно нормально.

        [
          {
            House_Name: 'Merlin 5th Avenue',
            no_of_rooms: 6,
            Cost: 3400000,
            PropertyId: 2
          },
          {
            House_Name: 'Presidential Building',
            no_of_rooms: 5,
            Cost: 3500000,
            PropertyId: 106
          },
          {
            House_Name: 'GreenSlide Building',
            no_of_rooms: 4,
            Cost: 6300000,
            PropertyId: 107
          },
          {
            House_Name: 'RabindraNath Building',
            no_of_rooms: 4,
            Cost: 5500000,
            PropertyId: 108
          },
          {
            House_Name: 'CityView Apartment',
            no_of_rooms: 3,
            Cost: 4300000,
            PropertyId: 109
          }
        ]
...