• Как сделать класс для работы с JSON, который может содержать в себе объекты разных типов?

    @j7sx
    А разве весь ответ в json формате не просто строка?
    Ну и в зависимости от того как обрабатываете извлекаете уже данные нужного формата.
    Не знаю, как в java, но в python это выглядит так:

    import sys
    import json
    
    response = json.loads(sys.stdin.read())
    field1 = response['field1'] #'строка'
    lst = response['list']['id'] # '123' - по сути это тоже строка, ибо числа в python без кавычек
    если нужно получить число, то можно явно преобразовать в число 
    lst = int(lst)
    или так, если не знаешь число или не число:
    try:
        lst = int(lst)
    except ValueError:
        print "преобразовать не получилось"


    Надо сказать, что строки, если они имеют вид чисел, скажем 123 или 1.23 преобразуются без проблем.

    А если json имеет встроенный json то можно дважды загрузить. сначала загружаешь и получаешь указатель на второй json, потом этот указатель загружаешь (loads) еще раз и получаешь и уже работаешь с ним также, как и раньше.
    Ответ написан
    Комментировать
  • Интеграция bitcoinpay на сайт?

    @j7sx
    Недавно озадачился этим вопросом. После того как ты создал post запрос тебе приходит ответ в формате json. из этого ответа тебе нужно взять строку "payment_url" это и будет ссылка для пользователя, по которой он пройдёт(у меня сразу на сайте в фрейме грузится) для оплаты.
    Использую python и у меня это выглядит так:
    html:
    <form action="../cgi-bin/btc/satoshi_transit.cgi" method="post" id="form">
            <div id="text">
                Логин:
              </div>
                <div id="input_login">
                    <input type="text" name="login">
                </div><br>
            <div id="text">
                email:
            </div>
                <div id="input_login">
                    <input type="text" name="email">
                </div><br>
            <div id="text">
                Сколько купить?:
            </div>
                <div id="input_pwd">
                    <input type="text" name="satoshi">
                </div><br>
            <div id="ibutton">
                <input type="submit" value="Купить" class="button">
            </div>
    </div> 
    </form>


    и обработчик на python:
    #!/usr/bin/python
    #--*--coding: utf-8--*--
    
    import cgi
    import json
    from urllib2 import Request, urlopen
    
    form = cgi.FieldStorage()
    
    # присваиваем переменным имена с формы
    login = form.getfirst("login", "")
    email = form.getfirst("email", "")
    satoshi = form.getfirst("satoshi", "")
    
    login = cgi.escape(str(login))
    email = cgi.escape(str(email))
    satoshi = (float(satoshi))
    
    values = {
        "settled_currency": "BTC",
        "return_url": "http://mysite.ru/buy/thankyou.html",
        "notify_url": "https://mysite.ru/cgi-bin/btc/order-received.cgi",
        "notify_email": "myemai@mail.ru",
        "price": satoshi,
        "currency": "BTC",
        "reference": {
          "customer_name": login,
          "order_number": 123,
          "customer_email": email
        },
        "item": "la2coin",
        "description": "buy la2coin"
      }
    
    data = json.dumps(values)
    headers = {
      'Content-Type': 'application/json',
      'Authorization': 'Token your_key_here'
    }
    request = Request('https://www.bitcoinpay.com/api/v1/payment/btc',
                         data=data, headers=headers)
    
    response_body = urlopen(request).read()
    responce = json.loads(response_body)
    url = responce["data"]["payment_url"]
    print "Content-Type: text/html; charset=utf-8"
    print ""
    print "<meta http-equiv=\"refresh\" content=\"1;URL=%s\" />" % url


    Проверки на введенные в форму значения опустил.
    Ответ написан
    Комментировать
  • Как отображать разный контент в одном блоке?

    @j7sx Автор вопроса
    В общем нашёл такой способ. Теперь видимо нужно писать стили для страницы enter.html и для других, с учётом стилей для index.html, чтобы отображалось в тех местах, где мне надо.

    <a href="http://мойсайт.ru/enter.html" class="button" onclick="changeBlock('enter.html'); return false;">ВОЙТИ</a>


    <script  type="text/javascript">
        function changeBlock(id) {
           document.getElementById('content').innerHTML = '<iframe width="700" height="760" src="http://www.мойсайт.ru/'+id+'" frameborder="0" allowfullscreen></iframe>';
        }
        </script>
    Ответ написан
    Комментировать
  • Python for Android. Как начать?

    @j7sx
    Ответ написан
    Комментировать
  • Как устранить ошибку при упаковке?

    @j7sx
    ну во-первых под рутом не собирают.
    Во-вторых что-то мнге кажется тебе надо переустановить kivy используя другую версию Cython. (у меня kivy 1.9.0 и cython 0.20)
    Ответ написан
    Комментировать
  • Как обработать столкновение объектов?

    @j7sx
    описывается для pygame, но для тебя тоже будет актуально:
    https://youtu.be/FxInYJC2LD4
    Ответ написан
    Комментировать